Changeset a3a17ba for src/ResolvExpr
- Timestamp:
- Aug 11, 2015, 4:37:37 PM (10 years ago)
- Branches:
- ADT, aaron-thesis, arm-eh, ast-experimental, cleanup-dtors, ctor, deferred_resn, demangler, enum, forall-pointer-decay, gc_noraii, jacob/cs343-translation, jenkins-sandbox, master, memory, new-ast, new-ast-unique-expr, new-env, no_list, persistent-indexer, pthread-emulation, qualifiedEnum, resolv-new, string, with_gc
- Children:
- 543159b, d58ebf3
- Parents:
- c29d9ce (diff), 51b1202 (diff)
Note: this is a merge changeset, the changes displayed below correspond to the merge itself.
Use the(diff)links above to see all the changes relative to each parent. - Location:
- src/ResolvExpr
- Files:
-
- 3 edited
-
AlternativeFinder.cc (modified) (1 diff)
-
CommonType.cc (modified) (1 diff)
-
typeops.h (modified) (1 diff)
Legend:
- Unmodified
- Added
- Removed
-
src/ResolvExpr/AlternativeFinder.cc
rc29d9ce ra3a17ba 343 343 } 344 344 345 /// Adds type variables to the open variable set and marks their assertions 345 346 void makeUnifiableVars( Type *type, OpenVarSet &unifiableVars, AssertionSet &needAssertions ) { 346 347 for ( std::list< TypeDecl* >::const_iterator tyvar = type->get_forall().begin(); tyvar != type->get_forall().end(); ++tyvar ) { -
src/ResolvExpr/CommonType.cc
rc29d9ce ra3a17ba 138 138 void CommonType::visit( PointerType *pointerType ) { 139 139 if ( PointerType *otherPointer = dynamic_cast< PointerType* >( type2 ) ) { 140 if ( widenFirst && dynamic_cast< VoidType* >( otherPointer->get_base() ) ) {140 if ( widenFirst && dynamic_cast< VoidType* >( otherPointer->get_base() ) && ! isFtype(pointerType->get_base(), indexer) ) { 141 141 result = otherPointer->clone(); 142 142 result->get_qualifiers() += pointerType->get_qualifiers(); 143 } else if ( widenSecond && dynamic_cast< VoidType* >( pointerType->get_base() ) ) {143 } else if ( widenSecond && dynamic_cast< VoidType* >( pointerType->get_base() ) && ! isFtype(otherPointer->get_base(), indexer) ) { 144 144 result = pointerType->clone(); 145 145 result->get_qualifiers() += otherPointer->get_qualifiers(); -
src/ResolvExpr/typeops.h
rc29d9ce ra3a17ba 117 117 118 118 // in Unify.cc 119 bool isFtype( Type *type, const SymTab::Indexer &indexer ); 119 120 bool typesCompatible( Type *, Type *, const SymTab::Indexer &indexer, const TypeEnvironment &env ); 120 121 bool typesCompatibleIgnoreQualifiers( Type *, Type *, const SymTab::Indexer &indexer, const TypeEnvironment &env );
Note:
See TracChangeset
for help on using the changeset viewer.