Changeset 79970ed for src/ResolvExpr
- Timestamp:
- Aug 24, 2016, 12:36:33 PM (9 years ago)
- Branches:
- ADT, aaron-thesis, arm-eh, ast-experimental, cleanup-dtors, ctor, deferred_resn, demangler, enum, forall-pointer-decay, jacob/cs343-translation, jenkins-sandbox, master, new-ast, new-ast-unique-expr, new-env, no_list, persistent-indexer, pthread-emulation, qualifiedEnum, resolv-new, with_gc
- Children:
- 0555f4b
- Parents:
- f87408e
- File:
-
- 1 edited
Legend:
- Unmodified
- Added
- Removed
-
TabularUnified src/ResolvExpr/AlternativeFinder.cc ¶
rf87408e r79970ed 244 244 for ( std::list< Declaration* >::const_iterator i = members.begin(); i != members.end(); ++i ) { 245 245 if ( DeclarationWithType *dwt = dynamic_cast< DeclarationWithType* >( *i ) ) { 246 alternatives.push_back( Alternative( new MemberExpr( dwt ->clone(), expr->clone() ), env, newCost ) );246 alternatives.push_back( Alternative( new MemberExpr( dwt, expr->clone() ), env, newCost ) ); 247 247 renameTypes( alternatives.back().expr ); 248 248 } else { … … 418 418 // /// Map of declaration uniqueIds (intended to be the assertions in an AssertionSet) to their parents and the number of times they've been included 419 419 //typedef std::unordered_map< UniqueId, std::unordered_map< UniqueId, unsigned > > AssertionParentSet; 420 420 421 421 static const int recursionLimit = /*10*/ 4; ///< Limit to depth of recursion satisfaction 422 422 //static const unsigned recursionParentLimit = 1; ///< Limit to the number of times an assertion can recursively use itself … … 429 429 } 430 430 } 431 431 432 432 template< typename ForwardIterator, typename OutputIterator > 433 void inferRecursive( ForwardIterator begin, ForwardIterator end, const Alternative &newAlt, OpenVarSet &openVars, const SymTab::Indexer &decls, const AssertionSet &newNeed, /*const AssertionParentSet &needParents,*/ 433 void inferRecursive( ForwardIterator begin, ForwardIterator end, const Alternative &newAlt, OpenVarSet &openVars, const SymTab::Indexer &decls, const AssertionSet &newNeed, /*const AssertionParentSet &needParents,*/ 434 434 int level, const SymTab::Indexer &indexer, OutputIterator out ) { 435 435 if ( begin == end ) { … … 469 469 std::cerr << std::endl; 470 470 ) 471 471 472 472 AssertionSet newHave, newerNeed( newNeed ); 473 473 TypeEnvironment newEnv( newAlt.env ); … … 847 847 for ( std::list< Declaration* >::const_iterator i = members.begin(); i != members.end(); ++i ) { 848 848 if ( DeclarationWithType *dwt = dynamic_cast< DeclarationWithType* >( *i ) ) { 849 alternatives.push_back( Alternative( new OffsetofExpr( aggInst->clone(), dwt ->clone()), env, Cost::zero ) );849 alternatives.push_back( Alternative( new OffsetofExpr( aggInst->clone(), dwt ), env, Cost::zero ) ); 850 850 renameTypes( alternatives.back().expr ); 851 851 } else {
Note: See TracChangeset
for help on using the changeset viewer.