Changes in src/Parser/parser.yy [ecb27a7:fbcde64]
- File:
-
- 1 edited
Legend:
- Unmodified
- Added
- Removed
-
src/Parser/parser.yy
recb27a7 rfbcde64 393 393 | '(' compound_statement ')' // GCC, lambda expression 394 394 { $$ = new ExpressionNode( build_valexpr( $2 ) ); } 395 | primary_expression '{' argument_expression_list '}' // CFA396 {397 Token fn;398 fn.str = new std::string( "?{}" ); // location undefined - use location of '{'?399 $$ = new ExpressionNode( new ConstructorExpr( build_func( new ExpressionNode( build_varref( fn ) ), (ExpressionNode *)( $1 )->set_last( $3 ) ) ) );400 }401 395 ; 402 396 … … 431 425 | '(' type_name_no_function ')' '{' initializer_list comma_opt '}' // C99, compound-literal 432 426 { $$ = new ExpressionNode( build_compoundLiteral( $2, new InitializerNode( $5, true ) ) ); } 433 | '^' primary_expression '{' argument_expression_list '}' // CFA427 | postfix_expression '{' argument_expression_list '}' // CFA 434 428 { 435 429 Token fn; 436 fn.str = new st ring( "^?{}" ); // location undefined437 $$ = new ExpressionNode( build_func( new ExpressionNode( build_varref( fn ) ), (ExpressionNode *)( $2 )->set_last( $4) ) );430 fn.str = new std::string( "?{}" ); // location undefined - use location of '{'? 431 $$ = new ExpressionNode( new ConstructorExpr( build_func( new ExpressionNode( build_varref( fn ) ), (ExpressionNode *)( $1 )->set_last( $3 ) ) ) ); 438 432 } 439 433 ; … … 736 730 | exception_statement 737 731 | asm_statement 732 | '^' postfix_expression '{' argument_expression_list '}' ';' // CFA 733 { 734 Token fn; 735 fn.str = new string( "^?{}" ); // location undefined 736 $$ = new StatementNode( build_expr( new ExpressionNode( build_func( new ExpressionNode( build_varref( fn ) ), (ExpressionNode *)( $2 )->set_last( $4 ) ) ) ) ); 737 } 738 ; 738 739 739 740 labeled_statement:
Note: See TracChangeset
for help on using the changeset viewer.