- Timestamp:
- Mar 30, 2020, 11:36:54 AM (5 years ago)
- Branches:
- ADT, arm-eh, ast-experimental, enum, forall-pointer-decay, jacob/cs343-translation, master, new-ast, new-ast-unique-expr, pthread-emulation, qualifiedEnum
- Children:
- a685335
- Parents:
- bb2e05e
- Location:
- src
- Files:
-
- 2 edited
Legend:
- Unmodified
- Added
- Removed
-
src/ControlStruct/ExceptTranslate.cc
rbb2e05e r3090127 9 9 // Author : Andrew Beach 10 10 // Created On : Wed Jun 14 16:49:00 2017 11 // Last Modified By : Peter A. Buhr12 // Last Modified On : Fri Dec 13 23:40:15 201913 // Update Count : 1 211 // Last Modified By : Andrew Beach 12 // Last Modified On : Fri Mar 27 11:58:00 2020 13 // Update Count : 13 14 14 // 15 15 … … 211 211 ThrowStmt *throwStmt ) { 212 212 // __throw_terminate( `throwStmt->get_name()` ); } 213 return create_given_throw( "__cfa abi_ehm__throw_terminate", throwStmt );213 return create_given_throw( "__cfaehm_throw_terminate", throwStmt ); 214 214 } 215 215 … … 232 232 ) ) ); 233 233 result->push_back( new ExprStmt( 234 new UntypedExpr( new NameExpr( "__cfa abi_ehm__rethrow_terminate" ) )234 new UntypedExpr( new NameExpr( "__cfaehm_rethrow_terminate" ) ) 235 235 ) ); 236 236 delete throwStmt; … … 241 241 ThrowStmt *throwStmt ) { 242 242 // __throw_resume( `throwStmt->get_name` ); 243 return create_given_throw( "__cfa abi_ehm__throw_resume", throwStmt );243 return create_given_throw( "__cfaehm_throw_resume", throwStmt ); 244 244 } 245 245 … … 309 309 local_except->get_attributes().push_back( new Attribute( 310 310 "cleanup", 311 { new NameExpr( "__cfa abi_ehm__cleanup_terminate" ) }311 { new NameExpr( "__cfaehm_cleanup_terminate" ) } 312 312 ) ); 313 313 … … 429 429 FunctionDecl * terminate_catch, 430 430 FunctionDecl * terminate_match ) { 431 // { __cfa abi_ehm__try_terminate(`try`, `catch`, `match`); }431 // { __cfaehm_try_terminate(`try`, `catch`, `match`); } 432 432 433 433 UntypedExpr * caller = new UntypedExpr( new NameExpr( 434 "__cfa abi_ehm__try_terminate" ) );434 "__cfaehm_try_terminate" ) ); 435 435 std::list<Expression *>& args = caller->get_args(); 436 436 args.push_back( nameOf( try_wrapper ) ); … … 486 486 487 487 // struct __try_resume_node __resume_node 488 // __attribute__((cleanup( __cfa abi_ehm__try_resume_cleanup )));488 // __attribute__((cleanup( __cfaehm_try_resume_cleanup ))); 489 489 // ** unwinding of the stack here could cause problems ** 490 490 // ** however I don't think that can happen currently ** 491 // __cfa abi_ehm__try_resume_setup( &__resume_node, resume_handler );491 // __cfaehm_try_resume_setup( &__resume_node, resume_handler ); 492 492 493 493 std::list< Attribute * > attributes; … … 495 495 std::list< Expression * > attr_params; 496 496 attr_params.push_back( new NameExpr( 497 "__cfa abi_ehm__try_resume_cleanup" ) );497 "__cfaehm_try_resume_cleanup" ) ); 498 498 attributes.push_back( new Attribute( "cleanup", attr_params ) ); 499 499 } … … 514 514 515 515 UntypedExpr *setup = new UntypedExpr( new NameExpr( 516 "__cfa abi_ehm__try_resume_setup" ) );516 "__cfaehm_try_resume_setup" ) ); 517 517 setup->get_args().push_back( new AddressExpr( nameOf( obj ) ) ); 518 518 setup->get_args().push_back( nameOf( resume_handler ) ); … … 539 539 ObjectDecl * ExceptionMutatorCore::create_finally_hook( 540 540 FunctionDecl * finally_wrapper ) { 541 // struct __cfa abi_ehm__cleanup_hook __finally_hook541 // struct __cfaehm_cleanup_hook __finally_hook 542 542 // __attribute__((cleanup( finally_wrapper ))); 543 543 … … 593 593 // Skip children? 594 594 return; 595 } else if ( structDecl->get_name() == "__cfa abi_ehm__base_exception_t" ) {595 } else if ( structDecl->get_name() == "__cfaehm_base_exception_t" ) { 596 596 assert( nullptr == except_decl ); 597 597 except_decl = structDecl; 598 598 init_func_types(); 599 } else if ( structDecl->get_name() == "__cfa abi_ehm__try_resume_node" ) {599 } else if ( structDecl->get_name() == "__cfaehm_try_resume_node" ) { 600 600 assert( nullptr == node_decl ); 601 601 node_decl = structDecl; 602 } else if ( structDecl->get_name() == "__cfa abi_ehm__cleanup_hook" ) {602 } else if ( structDecl->get_name() == "__cfaehm_cleanup_hook" ) { 603 603 assert( nullptr == hook_decl ); 604 604 hook_decl = structDecl; -
src/ResolvExpr/Resolver.cc
rbb2e05e r3090127 9 9 // Author : Aaron B. Moss 10 10 // Created On : Sun May 17 12:17:01 2015 11 // Last Modified By : A aron B. Moss12 // Last Modified On : Wed May 29 11:00:00 201913 // Update Count : 24 111 // Last Modified By : Andrew Beach 12 // Last Modified On : Fri Mar 27 11:58:00 2020 13 // Update Count : 242 14 14 // 15 15 … … 560 560 // TODO: Replace *exception type with &exception type. 561 561 if ( throwStmt->get_expr() ) { 562 const StructDecl * exception_decl = indexer.lookupStruct( "__cfa abi_ehm__base_exception_t" );562 const StructDecl * exception_decl = indexer.lookupStruct( "__cfaehm_base_exception_t" ); 563 563 assert( exception_decl ); 564 564 Type * exceptType = new PointerType( noQualifiers, new StructInstType( noQualifiers, const_cast<StructDecl *>(exception_decl) ) ); … … 1477 1477 if ( throwStmt->expr ) { 1478 1478 const ast::StructDecl * exceptionDecl = 1479 symtab.lookupStruct( "__cfa abi_ehm__base_exception_t" );1479 symtab.lookupStruct( "__cfaehm_base_exception_t" ); 1480 1480 assert( exceptionDecl ); 1481 1481 ast::ptr< ast::Type > exceptType =
Note: See TracChangeset
for help on using the changeset viewer.