1 /* { dg-options "-std=gnu99" } */
2 /* Missing <stdint.h>.  */
3 
4 char c = INT8_MAX; // { dg-error "'INT8_MAX' undeclared" }
5 // { dg-message "'INT8_MAX' is defined in header '<stdint.h>'; did you forget to '#include <stdint.h>'?" "" { target *-*-* } .-1 }
6 
7 short s = INT16_MAX; // { dg-error "'INT16_MAX' undeclared" }
8 // { dg-message "'INT16_MAX' is defined in header '<stdint.h>'; did you forget to '#include <stdint.h>'?" "" { target *-*-* } .-1 }
9 
10 int i = INT32_MAX; // { dg-error "'INT32_MAX' undeclared" }
11 // { dg-message "'INT32_MAX' is defined in header '<stdint.h>'; did you forget to '#include <stdint.h>'?" "" { target *-*-* } .-1 }
12 
13 long l = INT64_MAX; // { dg-error "'INT64_MAX' undeclared" }
14 // { dg-message "'INT64_MAX' is defined in header '<stdint.h>'; did you forget to '#include <stdint.h>'?" "" { target *-*-* } .-1 }
15 
test_intptr(void)16 intptr_t test_intptr (void) // { dg-error "unknown type name 'intptr_t'" }
17 // { dg-message "'intptr_t' is defined in header '<stdint.h>'; did you forget to '#include <stdint.h>'?" "" { target *-*-* } .-1 }
18 {
19   return INTPTR_MAX; // { dg-error "'INTPTR_MAX' undeclared" }
20 // { dg-message "'INTPTR_MAX' is defined in header '<stdint.h>'; did you forget to '#include <stdint.h>'?" "" { target *-*-* } .-1 }
21 }
22 
test_uintptr(void)23 uintptr_t test_uintptr (void) // { dg-error "unknown type name 'uintptr_t'" }
24 // { dg-message "'uintptr_t' is defined in header '<stdint.h>'; did you forget to '#include <stdint.h>'?" "" { target *-*-* } .-1 }
25 {
26   return UINTPTR_MAX; // { dg-error "'UINTPTR_MAX' undeclared" }
27 // { dg-message "'UINTPTR_MAX' is defined in header '<stdint.h>'; did you forget to '#include <stdint.h>'?" "" { target *-*-* } .-1 }
28 }
29 
30 int8_t i8; // { dg-error "unknown type name 'int8_t'" }
31 // { dg-message "'int8_t' is defined in header '<stdint.h>'; did you forget to '#include <stdint.h>'?" "" { target *-*-* } .-1 }
32 int16_t i16; // { dg-error "unknown type name 'int16_t'" }
33 // { dg-message "'int16_t' is defined in header '<stdint.h>'; did you forget to '#include <stdint.h>'?" "" { target *-*-* } .-1 }
34 int32_t i32; // { dg-error "unknown type name 'int32_t'" }
35 // { dg-message "'int32_t' is defined in header '<stdint.h>'; did you forget to '#include <stdint.h>'?" "" { target *-*-* } .-1 }
36 int64_t i64; // { dg-error "unknown type name 'int64_t'" }
37 // { dg-message "'int64_t' is defined in header '<stdint.h>'; did you forget to '#include <stdint.h>'?" "" { target *-*-* } .-1 }
38 
test_uint_t(void)39 void test_uint_t (void)
40 {
41   char bu8[(unsigned int)UINT8_MAX]; // { dg-error "'UINT8_MAX' undeclared" }
42   // { dg-message "'UINT8_MAX' is defined in header '<stdint.h>'; did you forget to '#include <stdint.h>'?" "" { target *-*-* } .-1 }
43   char bu16[(unsigned int)UINT16_MAX]; // { dg-error "'UINT16_MAX' undeclared" }
44   // { dg-message "'UINT16_MAX' is defined in header '<stdint.h>'; did you forget to '#include <stdint.h>'?" "" { target *-*-* } .-1 }
45   char bu32[(unsigned int)UINT32_MAX]; // { dg-error "'UINT32_MAX' undeclared" }
46   // { dg-message "'UINT32_MAX' is defined in header '<stdint.h>'; did you forget to '#include <stdint.h>'?" "" { target *-*-* } .-1 }
47   char bu64[(unsigned int)UINT64_MAX]; // { dg-error "'UINT64_MAX' undeclared" }
48   // { dg-message "'UINT64_MAX' is defined in header '<stdint.h>'; did you forget to '#include <stdint.h>'?" "" { target *-*-* } .-1 }
49 
50   char ui8 = (uint8_t) 8; // { dg-error "'uint8_t' undeclared" }
51   // { dg-error "expected" "" { target *-*-* } .-1 }
52   // { dg-message "'uint8_t' is defined in header '<stdint.h>'; did you forget to '#include <stdint.h>'?" "" { target *-*-* } .-2 }
53   short ui16 = (uint16_t) 16; // { dg-error "'uint16_t' undeclared" }
54   // { dg-error "expected" "" { target *-*-* } .-1 }
55   // { dg-message "'uint16_t' is defined in header '<stdint.h>'; did you forget to '#include <stdint.h>'?" "" { target *-*-* } .-2 }
56   int ui32 = (uint32_t) 32; // { dg-error "'uint32_t' undeclared" }
57   // { dg-error "expected" "" { target *-*-* } .-1 }
58   // { dg-message "'uint32_t' is defined in header '<stdint.h>'; did you forget to '#include <stdint.h>'?" "" { target *-*-* } .-2 }
59   long ui64 = (uint64_t) 64; // { dg-error "'uint64_t' undeclared" }
60   // { dg-error "expected" "" { target *-*-* } .-1 }
61   // { dg-message "'uint64_t' is defined in header '<stdint.h>'; did you forget to '#include <stdint.h>'?" "" { target *-*-* } .-2 }
62 }
63