Changeset fa463f1 for src/Parser/parser.yy
- Timestamp:
- Aug 30, 2016, 4:26:01 PM (9 years ago)
- Branches:
- ADT, aaron-thesis, arm-eh, ast-experimental, cleanup-dtors, ctor, deferred_resn, demangler, enum, forall-pointer-decay, jacob/cs343-translation, jenkins-sandbox, master, new-ast, new-ast-unique-expr, new-env, no_list, persistent-indexer, pthread-emulation, qualifiedEnum, resolv-new, with_gc
- Children:
- c8dfcd3
- Parents:
- 3906301 (diff), 32a2a99 (diff)
Note: this is a merge changeset, the changes displayed below correspond to the merge itself.
Use the(diff)
links above to see all the changes relative to each parent. - File:
-
- 1 edited
Legend:
- Unmodified
- Added
- Removed
-
src/Parser/parser.yy
r3906301 rfa463f1 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:30:56201613 // Update Count : 19 4412 // 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_list ')' attribute_list_opt 2156 { delete $3; } 2117 | ASM '(' string_literal_list ')' attribute_list_opt { delete $3; } // FIX ME: unimplemented 2157 2118 ; 2158 2119 … … 2183 2144 // empty 2184 2145 | any_word 2185 | any_word '(' comma_expression_opt ')' 2186 { delete $3; } 2146 | any_word '(' comma_expression_opt ')' { delete $3; } // FIX ME: unimplemented 2187 2147 ; 2188 2148 2189 2149 any_word: // GCC 2190 identifier_or_type_name { delete $1; } 2191 | storage_class { delete $1; } 2192 | basic_type_name { delete $1; } 2193 | 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 2194 2154 ; 2195 2155
Note:
See TracChangeset
for help on using the changeset viewer.