Changes in src/Parser/parser.yy [ab57786:413ad05]
- File:
-
- 1 edited
-
src/Parser/parser.yy (modified) (7 diffs)
Legend:
- Unmodified
- Added
- Removed
-
src/Parser/parser.yy
rab57786 r413ad05 10 10 // Created On : Sat Sep 1 20:22:55 2001 11 11 // Last Modified By : Peter A. Buhr 12 // Last Modified On : Mon Aug 22 14:15:15201613 // Update Count : 19 4312 // Last Modified On : Fri Aug 26 16:45:44 2016 13 // Update Count : 1964 14 14 // 15 15 … … 54 54 #include "TypeData.h" 55 55 #include "LinkageSpec.h" 56 57 union DeclQualifiers {58 unsigned int value; // assume 32-bits59 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 }; // DeclQualifiers76 DeclQualifiers declQualifiers = { 0 };77 78 union DeclType {79 unsigned int value; // assume 32-bits80 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 }; // DeclType96 DeclType declTypes = { 0 };97 56 98 57 extern DeclarationNode * parseTree; … … 649 608 assignment_operator: 650 609 '=' { $$ = OperKinds::Assign; } 610 | ATassign { $$ = OperKinds::AtAssn; } 651 611 | MULTassign { $$ = OperKinds::MulAssn; } 652 612 | DIVassign { $$ = OperKinds::DivAssn; } … … 1328 1288 type_qualifier_name 1329 1289 | attribute 1330 //{ $$ = DeclarationNode::newQualifier( DeclarationNode::Attribute ); }1290 //{ $$ = DeclarationNode::newQualifier( DeclarationNode::Attribute ); } 1331 1291 ; 1332 1292 … … 1382 1342 { $$ = DeclarationNode::newStorageClass( DeclarationNode::Register ); } 1383 1343 | INLINE // C99 1384 { $$ = DeclarationNode::newStorageClass( DeclarationNode::Inline ); } 1344 //{ $$ = DeclarationNode::newStorageClass( DeclarationNode::Inline ); } 1345 { $$ = new DeclarationNode; $$->isInline = true; } 1385 1346 | FORTRAN // C99 1386 1347 { $$ = DeclarationNode::newStorageClass( DeclarationNode::Fortran ); } 1387 1348 | NORETURN // C11 1388 { $$ = DeclarationNode::newStorageClass( DeclarationNode::Noreturn ); } 1349 //{ $$ = DeclarationNode::newStorageClass( DeclarationNode::Noreturn ); } 1350 { $$ = new DeclarationNode; $$->isNoreturn = true; } 1389 1351 | THREADLOCAL // C11 1390 1352 { $$ = DeclarationNode::newStorageClass( DeclarationNode::Threadlocal ); } … … 2153 2115 asm_name_opt: // GCC 2154 2116 // empty 2155 | ASM '(' string_literal ')' attribute_list_opt2117 | ASM '(' string_literal_list ')' attribute_list_opt { delete $3; } // FIX ME: unimplemented 2156 2118 ; 2157 2119 … … 2182 2144 // empty 2183 2145 | any_word 2184 | any_word '(' comma_expression_opt ')' 2146 | any_word '(' comma_expression_opt ')' { delete $3; } // FIX ME: unimplemented 2185 2147 ; 2186 2148 2187 2149 any_word: // GCC 2188 identifier_or_type_name { delete $1; } 2189 | storage_class { delete $1; } 2190 | basic_type_name { delete $1; } 2191 | type_qualifier { delete $1; } 2150 identifier_or_type_name { delete $1; } // FIX ME: unimplemented 2151 | storage_class { delete $1; } // FIX ME: unimplemented 2152 | basic_type_name { delete $1; } // FIX ME: unimplemented 2153 | type_qualifier { delete $1; } // FIX ME: unimplemented 2192 2154 ; 2193 2155
Note:
See TracChangeset
for help on using the changeset viewer.