1 /* Test for constant expressions: invalid null pointer constants in
2 various contexts (make sure NOPs are not inappropriately
3 stripped). */
4 /* Origin: Joseph Myers <joseph@codesourcery.com> */
5 /* { dg-do compile } */
6 /* { dg-options "-std=iso9899:1990 -pedantic-errors" } */
7
8 __extension__ typedef __SIZE_TYPE__ size_t;
9
10 void *p = (size_t)(void *)0; /* { dg-error "without a cast" } */
11 struct s { void *a; } q = { (size_t)(void *)0 }; /* { dg-error "without a cast|near initialization" } */
12 void *
f(void)13 f (void)
14 {
15 void *r;
16 r = (size_t)(void *)0; /* { dg-error "without a cast" } */
17 return (size_t)(void *)0; /* { dg-error "without a cast" } */
18 }
19 void g (void *); /* { dg-message "but argument is of type" } */
20 void
h(void)21 h (void)
22 {
23 g ((size_t)(void *)0); /* { dg-error "without a cast" } */
24 }
25 void g2 (int, void *); /* { dg-message "but argument is of type" } */
26 void
h2(void)27 h2 (void)
28 {
29 g2 (0, (size_t)(void *)0); /* { dg-error "without a cast" } */
30 }
31