Viewing file: attr-8.c (1.18 KB) -rw-r--r-- Select action/file-type: (+) | (+) | (+) | Code (+) | Session (+) | (+) | SDB (+) | (+) | (+) | (+) | (+) | (+) |
/* Test to verify that parameters of qualified narrow char pointer type are accepted for attribute format printf, but others are rejected. { dg-do compile } { dg-options "-std=gnu99 -Wformat" } */
#define DONT_GNU_PROTOTYPE #include "format.h"
#define FORMAT(archetype, arg1, arg2) \ __attribute__ ((format (archetype, arg1, arg2)))
FORMAT (gnu_attr_printf, 1, 2) void fpc_1_2 (char *, ...);
FORMAT (gnu_attr_printf, 1, 2) void fpcc_1_2 (const char *, ...);
FORMAT (gnu_attr_printf, 1, 2) void frpc_1_2 (char * restrict, ...);
FORMAT (gnu_attr_printf, 1, 2) void fpvc_1_2 (volatile char *, ...);
FORMAT (gnu_attr_printf, 1, 2) void fpcvc_1_2 (const volatile char *, ...);
FORMAT (gnu_attr_printf, 1, 2) void fpv_1_2 (void *, ...); /* { dg-error ".format. attribute argument 2 value .1. refers to parameter type .void \\\*." } */
FORMAT (gnu_attr_printf, 1, 2) void fppc_1_2 (char **, ...); /* { dg-error ".format. attribute argument 2 value .1. refers to parameter type .char \\\*\\\*." } */
FORMAT (gnu_attr_printf, 1, 2) void fpwc_1_2 (wchar_t *, ...); /* { dg-error ".format. attribute argument 2 value .1. refers to parameter type .wchar_t \\\*." } */
|