Changes in / [56fba87:2f84692]


Ignore:
File:
1 edited

Legend:

Unmodified
Added
Removed
  • src/SymTab/Validate.cc

    r56fba87 r2f84692  
    368368                                auto base = td->base;
    369369                                assert( base );
    370                                 return base->clone();
     370                                Type * ret = base->clone();
     371                                ret->get_qualifiers() = qualType->get_qualifiers();
     372                                return ret;
    371373                        } else {
    372374                                // .T => T is not a type name
     
    388390                                        if ( StructDecl * aggr = dynamic_cast< StructDecl * >( member ) ) {
    389391                                                if ( aggr->name == inst->name ) {
     392                                                        // TODO: is this case, and other non-TypeInstType cases, necessary?
    390393                                                        return new StructInstType( qualType->get_qualifiers(), aggr );
    391394                                                }
     
    404407                                        }
    405408                                } else if ( TypeInstType * inst = dynamic_cast< TypeInstType * >( child ) ) {
    406                                         // struct typedefs are being replaced by forward decls too early; move it to hoist struct
     409                                        // name on the right is a typedef
    407410                                        if ( NamedTypeDecl * aggr = dynamic_cast< NamedTypeDecl * > ( member ) ) {
    408411                                                if ( aggr->name == inst->name ) {
    409412                                                        assert( aggr->base );
    410                                                         return aggr->base->clone();
     413                                                        Type * ret = aggr->base->clone();
     414                                                        ret->get_qualifiers() = qualType->get_qualifiers();
     415                                                        return ret;
    411416                                                }
    412417                                        }
Note: See TracChangeset for help on using the changeset viewer.