Changeset fbcde64 for src/Parser
- Timestamp:
- Mar 30, 2017, 5:21:07 PM (8 years ago)
- Branches:
- ADT, aaron-thesis, arm-eh, ast-experimental, cleanup-dtors, 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:
- 936a287
- Parents:
- 89ae7f4
- Location:
- src/Parser
- Files:
-
- 2 edited
Legend:
- Unmodified
- Added
- Removed
-
src/Parser/ExpressionNode.cc
r89ae7f4 rfbcde64 10 10 // Created On : Sat May 16 13:17:07 2015 11 11 // Last Modified By : Peter A. Buhr 12 // Last Modified On : Sat Mar 4 06:58:47201713 // Update Count : 5 0912 // Last Modified On : Thu Mar 30 17:02:46 2017 13 // Update Count : 515 14 14 // 15 15 … … 356 356 // these types do not have associated type information 357 357 } else if ( StructDecl * newDeclStructDecl = dynamic_cast< StructDecl * >( newDecl ) ) { 358 return new CompoundLiteralExpr( new StructInstType( Type::Qualifiers(), newDeclStructDecl->get_name() ), maybeMoveBuild< Initializer >(kids) ); 358 if ( newDeclStructDecl->has_body() ) { 359 return new CompoundLiteralExpr( new StructInstType( Type::Qualifiers(), newDeclStructDecl ), maybeMoveBuild< Initializer >(kids) ); 360 } else { 361 return new CompoundLiteralExpr( new StructInstType( Type::Qualifiers(), newDeclStructDecl->get_name() ), maybeMoveBuild< Initializer >(kids) ); 362 } // if 359 363 } else if ( UnionDecl * newDeclUnionDecl = dynamic_cast< UnionDecl * >( newDecl ) ) { 360 return new CompoundLiteralExpr( new UnionInstType( Type::Qualifiers(), newDeclUnionDecl->get_name() ), maybeMoveBuild< Initializer >(kids) ); 364 if ( newDeclUnionDecl->has_body() ) { 365 return new CompoundLiteralExpr( new UnionInstType( Type::Qualifiers(), newDeclUnionDecl ), maybeMoveBuild< Initializer >(kids) ); 366 } else { 367 return new CompoundLiteralExpr( new UnionInstType( Type::Qualifiers(), newDeclUnionDecl->get_name() ), maybeMoveBuild< Initializer >(kids) ); 368 } // if 361 369 } else if ( EnumDecl * newDeclEnumDecl = dynamic_cast< EnumDecl * >( newDecl ) ) { 362 return new CompoundLiteralExpr( new EnumInstType( Type::Qualifiers(), newDeclEnumDecl->get_name() ), maybeMoveBuild< Initializer >(kids) ); 370 if ( newDeclEnumDecl->has_body() ) { 371 return new CompoundLiteralExpr( new EnumInstType( Type::Qualifiers(), newDeclEnumDecl ), maybeMoveBuild< Initializer >(kids) ); 372 } else { 373 return new CompoundLiteralExpr( new EnumInstType( Type::Qualifiers(), newDeclEnumDecl->get_name() ), maybeMoveBuild< Initializer >(kids) ); 374 } // if 363 375 } else { 364 376 assert( false ); -
src/Parser/parser.yy
r89ae7f4 rfbcde64 10 10 // Created On : Sat Sep 1 20:22:55 2001 11 11 // Last Modified By : Peter A. Buhr 12 // Last Modified On : Fri Mar 17 15:42:22 201713 // Update Count : 231 712 // Last Modified On : Thu Mar 30 15:42:32 2017 13 // Update Count : 2318 14 14 // 15 15 … … 423 423 | postfix_expression DECR 424 424 { $$ = new ExpressionNode( build_unary_ptr( OperKinds::DecrPost, $1 ) ); } 425 | '(' type_name_no_function ')' '{' initializer_list comma_opt '}' // C99 425 | '(' type_name_no_function ')' '{' initializer_list comma_opt '}' // C99, compound-literal 426 426 { $$ = new ExpressionNode( build_compoundLiteral( $2, new InitializerNode( $5, true ) ) ); } 427 427 | postfix_expression '{' argument_expression_list '}' // CFA
Note:
See TracChangeset
for help on using the changeset viewer.