root/tests/usr.bin/xlint/lint1/msg_192.c
/*      $NetBSD: msg_192.c,v 1.12 2024/09/28 15:51:40 rillig Exp $      */
# 3 "msg_192.c"

// Test for message: '%s' unused in function '%s' [192]
//
// See also:
//      msg_231         for unused parameters

/* lint1-extra-flags: -X 351 */

void
example(void)
{
        /* expect+1: warning: 'local_scalar' unused in function 'example' [192] */
        int local_scalar;
        /* expect+1: warning: 'local_ptr' unused in function 'example' [192] */
        char *local_ptr;
        /* expect+1: warning: 'local_arr' unused in function 'example' [192] */
        char local_arr[5];
        /* expect+1: warning: 'local_func' unused in function 'example' [192] */
        void (*local_func)(int, double);
        typedef void (*handler)(int);
        /* expect+1: warning: 'local_signal' unused in function 'example' [192] */
        handler (*local_signal)(int, handler);

        int local_scalar_attr __attribute__((__unused__));
        char *local_ptr_attr __attribute__((__unused__));
        char local_arr_attr[5] __attribute__((__unused__));
        void (*local_func_attr)(int, double) __attribute__((__unused__));
        void (*(*local_signal_attr)(int sig, void (*handler)(int)))(int) __attribute__((__unused__));
}


void assertion_failed(const char *, int, const char *, const char *);

/*
 * The symbol '__func__' only occurs in an unreachable branch.  It is
 * nevertheless marked as used.
 */
void
assert_true(void)
{
        sizeof(char) == 1
            ? (void)0
            : assertion_failed("file", 26, __func__, "sizeof(char) == 1");
}

void
assert_false(void)
{
        sizeof(char) == 0
            ? (void)0
            : assertion_failed("file", 34, __func__, "sizeof(char) == 0");
}

void
assert_unknown(_Bool cond)
{
        cond
            ? (void)0
            : assertion_failed("file", 42, __func__, "cond");
}