Changeset 76ed81f for src/AST/Expr.cpp


Ignore:
Timestamp:
May 22, 2019, 5:22:30 PM (5 years ago)
Author:
Aaron Moss <a3moss@…>
Branches:
ADT, arm-eh, ast-experimental, cleanup-dtors, enum, forall-pointer-decay, jacob/cs343-translation, jenkins-sandbox, master, new-ast, new-ast-unique-expr, pthread-emulation, qualifiedEnum
Children:
893e106
Parents:
6380f78
Message:

Broken stuff pre-Pass fix

File:
1 edited

Legend:

Unmodified
Added
Removed
  • src/AST/Expr.cpp

    r6380f78 r76ed81f  
    159159        assert( aggregate->result );
    160160
     161        // #warning Needs GenericSubsitution.cpp building to work correctly
     162        // result.set_and_mutate( mem->get_type() )->qualifiers |= aggregate->result->qualifiers | CV::Lvalue;  // FIXME temporary patch
     163
    161164        // take ownership of member type
    162         Type * res = result.set_and_mutate( mem->get_type() );
     165        result = mem->get_type();
    163166        // substitute aggregate generic parameters into member type
    164         genericSubsitution( aggregate->result ).apply( res );
     167        genericSubsitution( aggregate->result ).apply( result );
    165168        // ensure lvalue and appropriate restrictions from aggregate type
    166         res->set_lvalue( true );
    167         res->qualifiers |= aggregate->result->qualifiers;
    168         // ensure changes propegated back into result
    169         result = res;
     169        result.get_and_mutate()->qualifiers |= aggregate->result->qualifiers | CV::Lvalue;
    170170}
    171171
Note: See TracChangeset for help on using the changeset viewer.