1 1.6 rillig /* $NetBSD: gcc_attribute_enum.c,v 1.6 2025/05/16 16:49:43 rillig Exp $ */ 2 1.1 rillig # 3 "gcc_attribute_enum.c" 3 1.1 rillig 4 1.1 rillig /* 5 1.1 rillig * Tests for the GCC __attribute__ for enumerators. 6 1.1 rillig * 7 1.1 rillig * https://gcc.gnu.org/onlinedocs/gcc/Enumerator-Attributes.html 8 1.1 rillig */ 9 1.1 rillig 10 1.2 rillig /* 11 1.2 rillig * Attributes in enum-specifier. 12 1.2 rillig * 13 1.2 rillig * See GCC, c-parser.c, function c_parser_enum_specifier. 14 1.2 rillig */ 15 1.2 rillig 16 1.6 rillig enum __attribute__(()) __attribute__((__deprecated__)) tag; 17 1.2 rillig 18 1.6 rillig enum __attribute__(()) __attribute__((__deprecated__)) tag_with_declaration { 19 1.2 rillig TAG_WITH_DECL 20 1.6 rillig } __attribute__(()) __attribute__((__deprecated__)); 21 1.2 rillig 22 1.6 rillig enum __attribute__(()) __attribute__((__deprecated__)) { 23 1.2 rillig ONLY_DECL 24 1.6 rillig } __attribute__(()) __attribute__((__deprecated__)); 25 1.2 rillig 26 1.2 rillig /* 27 1.2 rillig * Attributes in enumerator. 28 1.2 rillig * 29 1.2 rillig * See GCC, c-parser.c, function c_parser_enum_specifier. 30 1.2 rillig */ 31 1.2 rillig 32 1.3 rillig enum without_initializer { 33 1.6 rillig NO_INIT_FIRST __attribute__(()) __attribute__((__deprecated__)), 34 1.6 rillig NO_INIT_LAST __attribute__(()) __attribute__((__deprecated__)) 35 1.2 rillig }; 36 1.2 rillig 37 1.3 rillig enum with_initializer { 38 1.6 rillig INIT_FIRST __attribute__(()) __attribute__((__deprecated__)) = 1, 39 1.6 rillig INIT_LAST __attribute__(()) __attribute__((__deprecated__)) = 2, 40 1.5 rillig /* expect+1: error: syntax error '__attribute__' [249] */ 41 1.6 rillig INIT_WRONG = 3 __attribute__(()) __attribute__((__deprecated__)), 42 1.1 rillig }; 43 1.3 rillig 44 1.3 rillig enum tag { 45 1.3 rillig TAG 46 1.3 rillig }; 47