Changes in src/Concurrency/Keywords.cc [b583113:ecfd758]
- File:
-
- 1 edited
-
src/Concurrency/Keywords.cc (modified) (3 diffs)
Legend:
- Unmodified
- Added
- Removed
-
src/Concurrency/Keywords.cc
rb583113 recfd758 414 414 if ( type_decl && isDestructorFor( decl, type_decl ) ) 415 415 dtor_decl = decl; 416 else if ( vtable_name.empty() || !decl->has_body() ) 416 else if ( vtable_name.empty() ) 417 ; 418 else if( !decl->has_body() ) 417 419 ; 418 420 else if ( auto param = isMainFor( decl, cast_target ) ) { … … 426 428 std::list< Expression * > poly_args = { new TypeExpr( struct_type->clone() ) }; 427 429 ObjectDecl * vtable_object = Virtual::makeVtableInstance( 428 "_default_vtable_object_declaration",429 430 vtable_decl->makeInst( poly_args ), struct_type, nullptr ); 430 431 declsToAddAfter.push_back( vtable_object ); 431 declsToAddAfter.push_back(432 new ObjectDecl(433 Virtual::concurrentDefaultVTableName(),434 Type::Const,435 LinkageSpec::Cforall,436 /* bitfieldWidth */ nullptr,437 new ReferenceType( Type::Const, vtable_object->type->clone() ),438 new SingleInit( new VariableExpr( vtable_object ) )439 )440 );441 432 declsToAddAfter.push_back( Virtual::makeGetExceptionFunction( 442 433 vtable_object, except_decl->makeInst( std::move( poly_args ) ) … … 497 488 except_decl->makeInst( poly_args ) 498 489 ) ); 499 ObjectDecl * vtable_object = Virtual::makeVtableForward( 500 "_default_vtable_object_declaration", 501 vtable_decl->makeInst( move( poly_args ) ) ); 502 declsToAddBefore.push_back( vtable_object ); 503 declsToAddAfter.push_back( 504 new ObjectDecl( 505 Virtual::concurrentDefaultVTableName(), 506 Type::Const, 507 LinkageSpec::Cforall, 508 /* bitfieldWidth */ nullptr, 509 new ReferenceType( Type::Const, vtable_object->type->clone() ), 510 /* init */ nullptr 511 ) 512 ); 490 declsToAddBefore.push_back( Virtual::makeVtableForward( 491 vtable_decl->makeInst( move( poly_args ) ) ) ); 513 492 } 514 493
Note:
See TracChangeset
for help on using the changeset viewer.