| /* Copyright (C) 2001 Free Software Foundation, Inc. */ |
| |
| /* { dg-do compile } */ |
| /* { dg-options "-std=gnu99 -pedantic -Wtraditional" } */ |
| |
| /* Tests diagnostics are suppressed for some macros defined in system |
| headers. */ |
| |
| /* Source: Neil Booth, 15 Jan 2001. */ |
| |
| #define uint 1U |
| #define fl 1.0f |
| #define ld 1.0L |
| |
| # 16 "system.h" 1 3 /* { dg-warning "followed by integer" } */ |
| |
| #define sys_uint 1U |
| #define sys_fl 1.0f |
| #define sys_ld 1.0L |
| |
| # 22 "bar.c" 2 /* { dg-warning "expected to return" } */ |
| |
| int |
| main () |
| { |
| int u1 = uint; /* { dg-warning "traditional C rejects" } */ |
| int u2 = sys_uint; /* { dg-bogus "traditional C rejects" } */ |
| float f1 = fl; /* { dg-warning "traditional C rejects" } */ |
| float f2 = sys_fl; /* { dg-bogus "traditional C rejects" } */ |
| long double ld1 = ld; /* { dg-warning "traditional C rejects" } */ |
| long double l2 = sys_ld; /* { dg-bogus "traditional C rejects" } */ |
| |
| return 0; |
| } |