Ignore:
File:
1 edited

Legend:

Unmodified
Added
Removed
  • src/ResolvExpr/Unify.cc

    r62423350 re6cee92  
    4242                virtual void visit(PointerType *pointerType);
    4343                virtual void visit(ArrayType *arrayType);
     44                virtual void visit(ReferenceType *refType);
    4445                virtual void visit(FunctionType *functionType);
    4546                virtual void visit(StructInstType *aggregateUseType);
     
    376377                                } // if
    377378                        } else {
     379                                common = type1->clone();
     380                                common->get_qualifiers() = tq1 | tq2;
    378381                                result = true;
    379382                        } // if
     
    425428                        markAssertions( haveAssertions, needAssertions, pointerType );
    426429                        markAssertions( haveAssertions, needAssertions, otherPointer );
     430                } // if
     431        }
     432
     433        void Unify::visit(ReferenceType *refType) {
     434                if ( ReferenceType *otherRef = dynamic_cast< ReferenceType* >( type2 ) ) {
     435                        result = unifyExact( refType->get_base(), otherRef->get_base(), env, needAssertions, haveAssertions, openVars, WidenMode( false, false ), indexer );
     436                        markAssertions( haveAssertions, needAssertions, refType );
     437                        markAssertions( haveAssertions, needAssertions, otherRef );
    427438                } // if
    428439        }
Note: See TracChangeset for help on using the changeset viewer.