Ignore:
File:
1 edited

Legend:

Unmodified
Added
Removed
  • src/SymTab/Autogen.cc

    rf203a7a r1f370451  
    372372                                continue;
    373373                        }
    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 ) );
    375380                        FunctionDecl * ctor = genFunc( "?{}", memCtorType->clone(), functionNesting );
    376381                        makeFieldCtorBody( aggregateDecl->members.begin(), aggregateDecl->members.end(), ctor );
     
    503508                                break;
    504509                        }
    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 ) );
    506516                        FunctionDecl * ctor = genFunc( "?{}", memCtorType->clone(), functionNesting );
    507517                        ObjectDecl * srcParam = strict_dynamic_cast<ObjectDecl *>( ctor->type->parameters.back() );
Note: See TracChangeset for help on using the changeset viewer.