- Timestamp:
- Oct 18, 2022, 9:13:33 PM (22 months ago)
- Branches:
- ADT, ast-experimental, master
- Children:
- 9511841
- Parents:
- 5408b59 (diff), ce7d197 (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. - Location:
- src
- Files:
-
- 5 edited
Legend:
- Unmodified
- Added
- Removed
-
src/AST/Pass.hpp
r5408b59 rc2b3243 167 167 const ast::Expr * visit( const ast::UntypedExpr * ) override final; 168 168 const ast::Expr * visit( const ast::NameExpr * ) override final; 169 const ast::Expr * 169 const ast::Expr * visit( const ast::QualifiedNameExpr * ) override final; 170 170 const ast::Expr * visit( const ast::AddressExpr * ) override final; 171 171 const ast::Expr * visit( const ast::LabelAddressExpr * ) override final; -
src/GenPoly/ScrubTyVars.h
r5408b59 rc2b3243 116 116 node_t const * target, const TypeVarMap & typeVars ) { 117 117 return strict_dynamic_cast<node_t const *>( 118 scrubTypeVars<ast::Node>( target ) );118 scrubTypeVars<ast::Node>( target, typeVars ) ); 119 119 } 120 120 -
src/Parser/ParseNode.h
r5408b59 rc2b3243 10 10 // Created On : Sat May 16 13:28:16 2015 11 11 // Last Modified By : Peter A. Buhr 12 // Last Modified On : Wed Feb 2 09:15:49202213 // Update Count : 9 0512 // Last Modified On : Tue Oct 18 14:15:37 2022 13 // Update Count : 936 14 14 // 15 15 … … 465 465 errors.append( e ); 466 466 } // try 467 cur = dynamic_cast< NodeType * >( cur->get_next() ); 467 const ParseNode * temp = (cur->get_next()); 468 cur = dynamic_cast< const NodeType * >( temp ); // should not return nullptr 469 if ( ! cur && temp ) { // non-homogeneous nodes ? 470 SemanticError( cur->location, "internal error, non-homogeneous nodes founds in buildList processing." ); 471 } // if 468 472 } // while 469 473 if ( ! errors.isEmpty() ) { -
src/Parser/lex.ll
r5408b59 rc2b3243 10 10 * Created On : Sat Sep 22 08:58:10 2001 11 11 * Last Modified By : Peter A. Buhr 12 * Last Modified On : T ue Sep 20 21:18:55202213 * Update Count : 76 212 * Last Modified On : Thu Oct 13 20:46:04 2022 13 * Update Count : 764 14 14 */ 15 15 … … 331 331 __uint128_t { KEYWORD_RETURN(UINT128); } // GCC 332 332 unsigned { KEYWORD_RETURN(UNSIGNED); } 333 __builtin_va_list { KEYWORD_RETURN(VALIST); } // GCC 333 __builtin_va_arg { KEYWORD_RETURN(VA_ARG); } // GCC 334 __builtin_va_list { KEYWORD_RETURN(VA_LIST); } // GCC 334 335 virtual { KEYWORD_RETURN(VIRTUAL); } // CFA 335 336 void { KEYWORD_RETURN(VOID); } -
src/Parser/parser.yy
r5408b59 rc2b3243 10 10 // Created On : Sat Sep 1 20:22:55 2001 11 11 // Last Modified By : Peter A. Buhr 12 // Last Modified On : Sat Oct 8 08:21:18202213 // Update Count : 57 0912 // Last Modified On : Fri Oct 14 14:04:43 2022 13 // Update Count : 5751 14 14 // 15 15 … … 305 305 %token TYPEDEF 306 306 %token EXTERN STATIC AUTO REGISTER 307 %token THREADLOCALGCC THREADLOCALC11 307 %token THREADLOCALGCC THREADLOCALC11 // GCC, C11 308 308 %token INLINE FORTRAN // C99, extension ISO/IEC 9899:1999 Section J.5.9(1) 309 309 %token NORETURN // C11 … … 318 318 %token DECIMAL32 DECIMAL64 DECIMAL128 // GCC 319 319 %token ZERO_T ONE_T // CFA 320 %token SIZEOF TYPEOF VA LIST AUTO_TYPE// GCC320 %token SIZEOF TYPEOF VA_LIST VA_ARG AUTO_TYPE // GCC 321 321 %token OFFSETOF BASETYPEOF TYPEID // CFA 322 322 %token ENUM STRUCT UNION … … 409 409 // declarations 410 410 %type<decl> abstract_declarator abstract_ptr abstract_array abstract_function array_dimension multi_array_dimension 411 %type<decl> abstract_parameter_declarator abstract_parameter_ptr abstract_parameter_array abstract_parameter_function array_parameter_dimension array_parameter_1st_dimension411 %type<decl> abstract_parameter_declarator_opt abstract_parameter_declarator abstract_parameter_ptr abstract_parameter_array abstract_parameter_function array_parameter_dimension array_parameter_1st_dimension 412 412 %type<decl> abstract_parameter_declaration 413 413 … … 698 698 primary_expression 699 699 | postfix_expression '[' assignment_expression ',' tuple_expression_list ']' 700 701 702 700 // Historic, transitional: Disallow commas in subscripts. 701 // Switching to this behaviour may help check if a C compatibilty case uses comma-exprs in subscripts. 702 // Current: Commas in subscripts make tuples. 703 703 { $$ = new ExpressionNode( build_binary_val( OperKinds::Index, $1, new ExpressionNode( build_tuple( (ExpressionNode *)($3->set_last( $5 ) ) )) ) ); } 704 704 | postfix_expression '[' assignment_expression ']' … … 720 720 | postfix_expression '(' argument_expression_list_opt ')' 721 721 { $$ = new ExpressionNode( build_func( $1, $3 ) ); } 722 | VA_ARG '(' primary_expression ',' declaration_specifier_nobody abstract_parameter_declarator_opt ')' 723 // { SemanticError( yylloc, "va_arg is currently unimplemented." ); $$ = nullptr; } 724 { $$ = new ExpressionNode( build_func( new ExpressionNode( build_varref( new string( "__builtin_va_arg") ) ), 725 (ExpressionNode *)($3->set_last( (ExpressionNode *)($6 ? $6->addType( $5 ) : $5) )) ) ); } 722 726 | postfix_expression '`' identifier // CFA, postfix call 723 727 { $$ = new ExpressionNode( build_func( new ExpressionNode( build_varref( build_postfix_name( $3 ) ) ), $1 ) ); } … … 2156 2160 | LONG 2157 2161 { $$ = DeclarationNode::newLength( DeclarationNode::Long ); } 2158 | VA LIST // GCC, __builtin_va_list2162 | VA_LIST // GCC, __builtin_va_list 2159 2163 { $$ = DeclarationNode::newBuiltinType( DeclarationNode::Valist ); } 2160 2164 | AUTO_TYPE … … 3676 3680 // functions. 3677 3681 3682 abstract_parameter_declarator_opt: 3683 // empty 3684 { $$ = nullptr; } 3685 | abstract_parameter_declarator 3686 ; 3687 3678 3688 abstract_parameter_declarator: 3679 3689 abstract_parameter_ptr
Note: See TracChangeset
for help on using the changeset viewer.