Changes in src/Parser/parser.yy [aa122e9:ed9a1ae]
- File:
-
- 1 edited
-
src/Parser/parser.yy (modified) (4 diffs)
Legend:
- Unmodified
- Added
- Removed
-
src/Parser/parser.yy
raa122e9 red9a1ae 293 293 %token TYPEDEF 294 294 %token EXTERN STATIC AUTO REGISTER 295 %token THREADLOCAL //C11295 %token THREADLOCALGCC THREADLOCALC11 // GCC, C11 296 296 %token INLINE FORTRAN // C99, extension ISO/IEC 9899:1999 Section J.5.9(1) 297 297 %token NORETURN // C11 … … 1345 1345 { 1346 1346 if ( $2 == OperKinds::LThan || $2 == OperKinds::LEThan ) { SemanticError( yylloc, MISSING_ANON_FIELD ); $$ = nullptr; } 1347 else { SemanticError( yylloc, MISSING_HIGH ); $$ = nullptr; } 1347 else { SemanticError( yylloc, MISSING_HIGH ); $$ = nullptr; } 1348 1348 } 1349 1349 | comma_expression updowneq comma_expression '~' comma_expression // CFA, anonymous loop-index … … 1357 1357 { 1358 1358 if ( $2 == OperKinds::LThan || $2 == OperKinds::LEThan ) { SemanticError( yylloc, MISSING_ANON_FIELD ); $$ = nullptr; } 1359 else { SemanticError( yylloc, MISSING_HIGH ); $$ = nullptr; } 1359 else { SemanticError( yylloc, MISSING_HIGH ); $$ = nullptr; } 1360 1360 } 1361 1361 | comma_expression updowneq comma_expression '~' '@' // CFA, error … … 2082 2082 | REGISTER 2083 2083 { $$ = DeclarationNode::newStorageClass( Type::Register ); } 2084 | THREADLOCAL // C11 2085 { $$ = DeclarationNode::newStorageClass( Type::Threadlocal ); } 2084 | THREADLOCALGCC // GCC 2085 { $$ = DeclarationNode::newStorageClass( Type::ThreadlocalGcc ); } 2086 | THREADLOCALC11 // C11 2087 { $$ = DeclarationNode::newStorageClass( Type::ThreadlocalC11 ); } 2086 2088 // Put function specifiers here to simplify parsing rules, but separate them semantically. 2087 2089 | INLINE // C99
Note:
See TracChangeset
for help on using the changeset viewer.