1 // PR c++/23689 2 // Test that malformed typedef's produce a compiler warning. 3 4 typedef char valid_0; 5 typedef int valid_1; 6 typedef long valid_2; 7 typedef float valid_3; 8 typedef double valid_4; 9 typedef unsigned valid_5; 10 typedef int *valid_6; 11 typedef struct valid_7 {} valid_8; 12 typedef struct {} valid_9; 13 typedef int temp_0; typedef temp_0 valid_10; 14 struct temp_1 {}; typedef temp_1 valid_11; 15 union temp_2 {}; typedef temp_2 valid_12; 16 typedef void (*valid_13) (int); 17 18 typedef struct invalid_0 {}; // { dg-warning "'typedef' was ignored" } 19 typedef class invalid_1 {}; // { dg-warning "'typedef' was ignored" } 20 typedef enum invalid_2 { INVALID_2 }; // { dg-warning "'typedef' was ignored" } 21 typedef enum { INVALID_3 }; // { dg-warning "'typedef' was ignored" } 22 typedef union invalid_4 {}; // { dg-warning "'typedef' was ignored" } 23