Changes in src/Parser/parser.yy [c1c1112:ab57786]
- File:
-
- 1 edited
-
src/Parser/parser.yy (modified) (6 diffs)
Legend:
- Unmodified
- Added
- Removed
-
src/Parser/parser.yy
rc1c1112 rab57786 10 10 // Created On : Sat Sep 1 20:22:55 2001 11 11 // Last Modified By : Peter A. Buhr 12 // Last Modified On : Wed Aug 24 16:21:37201613 // Update Count : 19 6212 // Last Modified On : Mon Aug 22 14:15:15 2016 13 // Update Count : 1943 14 14 // 15 15 … … 54 54 #include "TypeData.h" 55 55 #include "LinkageSpec.h" 56 57 union DeclQualifiers { 58 unsigned int value; // assume 32-bits 59 struct { 60 bool Extern : 1; 61 bool Static : 1; 62 bool Auto : 1; 63 bool Register : 1; 64 bool Inline : 1; 65 bool Fortran : 1; 66 bool Noreturn : 1; 67 bool Threadlocal : 1; 68 bool Extension : 1; 69 bool Lvalue : 1; 70 bool Const : 1; 71 bool Volatile : 1; 72 bool Restrict : 1; 73 bool Atomic : 1; 74 } qual; 75 }; // DeclQualifiers 76 DeclQualifiers declQualifiers = { 0 }; 77 78 union DeclType { 79 unsigned int value; // assume 32-bits 80 struct { 81 bool Char : 1; 82 bool Bool : 1; 83 bool Short : 1; 84 bool Int : 1; 85 bool Float : 1; 86 bool Double : 1; 87 bool Long : 1; 88 bool Signed : 1; 89 bool Unsigned : 1; 90 bool Void : 1; 91 bool Complex : 1; 92 bool Imaginary : 1; 93 bool Valist : 1; 94 } type; 95 }; // DeclType 96 DeclType declTypes = { 0 }; 56 97 57 98 extern DeclarationNode * parseTree; … … 1287 1328 type_qualifier_name 1288 1329 | attribute 1289 //{ $$ = DeclarationNode::newQualifier( DeclarationNode::Attribute ); }1330 //{ $$ = DeclarationNode::newQualifier( DeclarationNode::Attribute ); } 1290 1331 ; 1291 1332 … … 1341 1382 { $$ = DeclarationNode::newStorageClass( DeclarationNode::Register ); } 1342 1383 | INLINE // C99 1343 //{ $$ = DeclarationNode::newStorageClass( DeclarationNode::Inline ); } 1344 { $$ = new DeclarationNode; $$->isInline = true; } 1384 { $$ = DeclarationNode::newStorageClass( DeclarationNode::Inline ); } 1345 1385 | FORTRAN // C99 1346 1386 { $$ = DeclarationNode::newStorageClass( DeclarationNode::Fortran ); } 1347 1387 | NORETURN // C11 1348 //{ $$ = DeclarationNode::newStorageClass( DeclarationNode::Noreturn ); } 1349 { $$ = new DeclarationNode; $$->isNoreturn = true; } 1388 { $$ = DeclarationNode::newStorageClass( DeclarationNode::Noreturn ); } 1350 1389 | THREADLOCAL // C11 1351 1390 { $$ = DeclarationNode::newStorageClass( DeclarationNode::Threadlocal ); } … … 2114 2153 asm_name_opt: // GCC 2115 2154 // empty 2116 | ASM '(' string_literal _list ')' attribute_list_opt { delete $3; } // FIX ME: unimplemented2155 | ASM '(' string_literal ')' attribute_list_opt 2117 2156 ; 2118 2157 … … 2143 2182 // empty 2144 2183 | any_word 2145 | any_word '(' comma_expression_opt ')' { delete $3; } // FIX ME: unimplemented2184 | any_word '(' comma_expression_opt ')' 2146 2185 ; 2147 2186 2148 2187 any_word: // GCC 2149 identifier_or_type_name { delete $1; } // FIX ME: unimplemented2150 | storage_class { delete $1; } // FIX ME: unimplemented2151 | basic_type_name { delete $1; } // FIX ME: unimplemented2152 | type_qualifier { delete $1; } // FIX ME: unimplemented2188 identifier_or_type_name { delete $1; } 2189 | storage_class { delete $1; } 2190 | basic_type_name { delete $1; } 2191 | type_qualifier { delete $1; } 2153 2192 ; 2154 2193
Note:
See TracChangeset
for help on using the changeset viewer.