Ignore:
File:
1 edited

Legend:

Unmodified
Added
Removed
  • src/SymTab/Mangler.cc

    r4ee3b0c1 r96812c0  
    171171                                        "w",    // SignedInt128
    172172                                        "Uw",   // UnsignedInt128
    173                                         "a",   // Float80
    174                                         "A",   // Float128
    175173                                };
    176                                 static_assert(
    177                                         sizeof(btLetter)/sizeof(btLetter[0]) == BasicType::NUMBER_OF_BASIC_TYPES,
    178                                         "Each basic type kind should have a corresponding mangler letter"
    179                                 );
    180174
    181175                                printQualifiers( basicType );
    182                                 assert( basicType->get_kind() < sizeof(btLetter)/sizeof(btLetter[0]) );
    183176                                mangleName << btLetter[ basicType->get_kind() ];
    184177                        }
     
    225218                                GuardValue( inFunctionType );
    226219                                inFunctionType = true;
    227                                 std::list< Type* > returnTypes = getTypes( functionType->get_returnVals() );
     220                                std::list< Type* > returnTypes = getTypes( functionType->returnVals );
    228221                                acceptAll( returnTypes, *visitor );
    229222                                mangleName << "_";
    230                                 std::list< Type* > paramTypes = getTypes( functionType->get_parameters() );
     223                                std::list< Type* > paramTypes = getTypes( functionType->parameters );
    231224                                acceptAll( paramTypes, *visitor );
    232225                                mangleName << "_";
     
    236229                                printQualifiers( refType );
    237230
    238                                 mangleName << ( refType->get_name().length() + prefix.length() ) << prefix << refType->get_name();
     231                                mangleName << ( refType->name.length() + prefix.length() ) << prefix << refType->name;
    239232
    240233                                if ( mangleGenericParams ) {
    241                                         std::list< Expression* >& params = refType->get_parameters();
     234                                        std::list< Expression* >& params = refType->parameters;
    242235                                        if ( ! params.empty() ) {
    243236                                                mangleName << "_";
    244237                                                for ( std::list< Expression* >::const_iterator param = params.begin(); param != params.end(); ++param ) {
    245238                                                        TypeExpr *paramType = dynamic_cast< TypeExpr* >( *param );
    246                                                         assertf(paramType, "Aggregate parameters should be type expressions: %s", toString(*param).c_str());
    247                                                         maybeAccept( paramType->get_type(), *visitor );
     239                                                        assertf(paramType, "Aggregate parameters should be type expressions: %s", toCString(*param));
     240                                                        maybeAccept( paramType->type, *visitor );
    248241                                                }
    249242                                                mangleName << "_";
Note: See TracChangeset for help on using the changeset viewer.