Changes in src/SymTab/Autogen.cc [f203a7a:1f370451]
- File:
-
- 1 edited
Legend:
- Unmodified
- Added
- Removed
-
src/SymTab/Autogen.cc
rf203a7a r1f370451 372 372 continue; 373 373 } 374 memCtorType->parameters.push_back( new ObjectDecl( field->name, Type::StorageClasses(), LinkageSpec::Cforall, 0, field->get_type()->clone(), 0 ) ); 374 // do not carry over field's attributes to parameter type 375 Type * paramType = field->get_type()->clone(); 376 deleteAll( paramType->attributes ); 377 paramType->attributes.clear(); 378 // add a parameter corresponding to this field 379 memCtorType->parameters.push_back( new ObjectDecl( field->name, Type::StorageClasses(), LinkageSpec::Cforall, nullptr, paramType, nullptr ) ); 375 380 FunctionDecl * ctor = genFunc( "?{}", memCtorType->clone(), functionNesting ); 376 381 makeFieldCtorBody( aggregateDecl->members.begin(), aggregateDecl->members.end(), ctor ); … … 503 508 break; 504 509 } 505 memCtorType->parameters.push_back( new ObjectDecl( field->name, Type::StorageClasses(), LinkageSpec::Cforall, nullptr, field->get_type()->clone(), nullptr ) ); 510 // do not carry over field's attributes to parameter type 511 Type * paramType = field->get_type()->clone(); 512 deleteAll( paramType->attributes ); 513 paramType->attributes.clear(); 514 // add a parameter corresponding to this field 515 memCtorType->parameters.push_back( new ObjectDecl( field->name, Type::StorageClasses(), LinkageSpec::Cforall, nullptr, paramType, nullptr ) ); 506 516 FunctionDecl * ctor = genFunc( "?{}", memCtorType->clone(), functionNesting ); 507 517 ObjectDecl * srcParam = strict_dynamic_cast<ObjectDecl *>( ctor->type->parameters.back() );
Note: See TracChangeset
for help on using the changeset viewer.