Ignore:
File:
1 edited

Legend:

Unmodified
Added
Removed
  • src/ResolvExpr/Unify.cc

    rc75b30a r2908f08  
    7373                ast::Type * newFirst  = shallowCopy( first  );
    7474                ast::Type * newSecond = shallowCopy( second );
     75                if ( auto temp = dynamic_cast<const ast::EnumInstType *>(first) ) {
     76                        if ( !dynamic_cast< const ast::EnumInstType * >( second ) ) {
     77                                const ast::EnumDecl * baseEnum = dynamic_cast<const ast::EnumDecl *>(temp->base.get());
     78                                if ( auto t = baseEnum->base.get() ) {
     79                                        newFirst = ast::shallowCopy( t );
     80                                }
     81                        }
     82                } else if ( auto temp = dynamic_cast<const ast::EnumInstType *>(second) ) {
     83                        const ast::EnumDecl * baseEnum = dynamic_cast<const ast::EnumDecl *>(temp->base.get());
     84                        if ( auto t = baseEnum->base.get() ) {
     85                                newSecond = ast::shallowCopy( t );
     86                        }
     87                }
    7588
    7689                newFirst ->qualifiers = {};
Note: See TracChangeset for help on using the changeset viewer.