Changes in src/Parser/parser.yy [fdca7c6:ecb27a7]
- File:
-
- 1 edited
-
src/Parser/parser.yy (modified) (4 diffs)
Legend:
- Unmodified
- Added
- Removed
-
src/Parser/parser.yy
rfdca7c6 recb27a7 10 10 // Created On : Sat Sep 1 20:22:55 2001 11 11 // Last Modified By : Peter A. Buhr 12 // Last Modified On : Thu Ma y 18 18:06:17201713 // Update Count : 23 3812 // Last Modified On : Thu Mar 30 15:42:32 2017 13 // Update Count : 2318 14 14 // 15 15 … … 85 85 } // for 86 86 } // distExt 87 88 bool forall = false; // aggregate have one or more forall qualifiers ?89 87 %} 90 88 … … 1558 1556 sue_type_specifier: // struct, union, enum + type specifier 1559 1557 elaborated_type 1560 | type_qualifier_list 1561 { if ( $1->type != nullptr && $1->type->forall ) forall = true; } // remember generic type 1562 elaborated_type 1563 { $$ = $3->addQualifiers( $1 ); } 1558 | type_qualifier_list elaborated_type 1559 { $$ = $2->addQualifiers( $1 ); } 1564 1560 | sue_type_specifier type_qualifier 1565 1561 { $$ = $1->addQualifiers( $2 ); } … … 1617 1613 { $$ = DeclarationNode::newAggregate( $1, new string( DeclarationNode::anonymous.newName() ), nullptr, $4, true )->addQualifiers( $2 ); } 1618 1614 | aggregate_key attribute_list_opt no_attr_identifier_or_type_name 1619 { 1620 typedefTable.makeTypedef( *$3 ); // create typedef 1621 if ( forall ) typedefTable.changeKind( *$3, TypedefTable::TG ); // possibly update 1622 forall = false; // reset 1623 } 1615 { typedefTable.makeTypedef( *$3 ); } 1624 1616 '{' field_declaration_list '}' 1625 1617 { $$ = DeclarationNode::newAggregate( $1, $3, nullptr, $6, true )->addQualifiers( $2 ); }
Note:
See TracChangeset
for help on using the changeset viewer.