Merge from mainline (gomp-merge-2005-02-26).
[official-gcc.git] / gcc / testsuite / gcc.dg / format / cmn-err-1.c
blob3fb2fd2ff4609ec513c071c2690241a8d0867f39
1 /* { dg-do compile { target *-*-solaris2.* } } */
2 /* { dg-options "-Wformat" } */
4 #include "format.h"
6 void cmn_err_func (int level, char * format, ...)
7 __attribute__((format (cmn_err, 2, 3)));
9 void cmn_err_func (int level, char * format, ...)
13 const char *string = "foo";
15 int main()
17 int i = 1;
18 long l = 2;
19 llong ll = 3;
21 cmn_err_func (0, "%s", string);
22 cmn_err_func (0, "%d %D %o %O %x %X %u", i, i, i, i, i, i, i);
23 cmn_err_func (0, "%ld %lD %lo %lO %lx %lX %lu", l, l, l, l, l, l, l);
24 cmn_err_func (0, "%lld %llD %llo %llO %llx %llX %llu",
25 ll, ll, ll, ll, ll, ll, ll);
26 cmn_err_func (0, "%b %s", i, "\01Foo", string);
27 cmn_err_func (0, "%p", string);
29 cmn_err_func (0, "%i", i); /* { dg-error "unknown|too many" } */
30 cmn_err_func (0, "%d", l); /* { dg-error "expects type" } */
31 cmn_err_func (0, "%b"); /* { dg-error "too few" } */
32 cmn_err_func (0, "%b", i); /* { dg-error "too few" } */
33 cmn_err_func (0, "%b", i, i); /* { dg-error "expects type" } */
34 cmn_err_func (0, "%b", string, i); /* { dg-error "expects type" } */
35 cmn_err_func (0, "%p", 3); /* { dg-error "expects type" } */
36 return 0;