- Timestamp:
- Jul 5, 2021, 2:11:58 PM (3 years ago)
- Branches:
- ADT, ast-experimental, enum, forall-pointer-decay, jacob/cs343-translation, master, new-ast-unique-expr, pthread-emulation, qualifiedEnum
- Children:
- b7763da
- Parents:
- f7f07f6 (diff), 943bfad (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
- Files:
-
- 7 edited
Legend:
- Unmodified
- Added
- Removed
-
src/AST/Node.cpp
rf7f07f6 rd5f6a14 47 47 const ast::ParseNode * parse = dynamic_cast<const ast::ParseNode *>( node ); 48 48 if ( nullptr == parse ) { 49 assertf( nullptr, "%s (no location)", toString(node).c_str());49 assertf(false, "%s (no location)", toString(node).c_str()); 50 50 } else if ( parse->location.isUnset() ) { 51 assertf( nullptr, "%s (unset location)", toString(node).c_str());51 assertf(false, "%s (unset location)", toString(node).c_str()); 52 52 } else { 53 assertf( nullptr, "%s (at %s:%d)", toString(node).c_str(),53 assertf(false, "%s (at %s:%d)", toString(node).c_str(), 54 54 parse->location.filename.c_str(), parse->location.first_line); 55 55 } -
src/GenPoly/GenPoly.cc
rf7f07f6 rd5f6a14 64 64 } 65 65 66 __attribute__((ununsed)) 66 67 bool hasPolyParams( const std::vector<ast::ptr<ast::Expr>> & params, const TyVarMap & tyVars, const ast::TypeSubstitution * env) { 67 68 for (auto ¶m : params) { -
src/ResolvExpr/CandidateFinder.cpp
rf7f07f6 rd5f6a14 597 597 const ast::SymbolTable & symtab; 598 598 public: 599 static size_t traceId;599 // static size_t traceId; 600 600 CandidateFinder & selfFinder; 601 601 CandidateList & candidates; … … 890 890 } 891 891 } 892 892 893 893 // if argType is an unbound type parameter, all special functions need to be searched. 894 894 if (isUnboundType(argType)) { … … 1104 1104 // unification run for side-effects 1105 1105 unify( toType, cand->expr->result, cand->env, need, have, open, symtab ); 1106 Cost thisCost = 1106 Cost thisCost = 1107 1107 (castExpr->isGenerated == ast::GeneratedFlag::GeneratedCast) 1108 1108 ? conversionCost( cand->expr->result, toType, cand->expr->get_lvalue(), symtab, cand->env ) … … 1729 1729 found->second.ambiguous = true; 1730 1730 } 1731 } else { 1731 } else { 1732 1732 // xxx - can satisfyAssertions increase the cost? 1733 1733 PRINT( 1734 1734 std::cerr << "cost " << newCand->cost << " loses to " 1735 1735 << found->second.candidate->cost << std::endl; 1736 ) 1736 ) 1737 1737 } 1738 1738 } else { … … 1819 1819 if ( mode.failFast && pruned.empty() ) { 1820 1820 std::ostringstream stream; 1821 if (found) { 1821 if (found) { 1822 1822 CandidateList winners = findMinCost( candidates ); 1823 1823 stream << "Cannot choose between " << winners.size() << " alternatives for " -
src/ResolvExpr/Unify.cc
rf7f07f6 rd5f6a14 1044 1044 } 1045 1045 1046 return { new ast::TupleType{ std::move(out) }};1046 return new ast::TupleType{ std::move(out) }; 1047 1047 } 1048 1048 -
src/SymTab/Validate.cc
rf7f07f6 rd5f6a14 1628 1628 } 1629 1629 }; 1630 */1631 1630 1632 1631 /// expand assertions from a trait instance, performing appropriate type variable substitutions … … 1646 1645 } 1647 1646 } 1648 1649 /*1650 1647 1651 1648 /// Associates forward declarations of aggregates with their definitions -
src/SynTree/AggregateDecl.cc
rf7f07f6 rd5f6a14 92 92 std::list< Expression * > copy_parameters; 93 93 cloneAll( new_parameters, copy_parameters ); 94 return makeInst( move( copy( copy_parameters )) );94 return makeInst( copy( copy_parameters ) ); 95 95 } 96 96 -
src/SynTree/ReferenceToType.cc
rf7f07f6 rd5f6a14 207 207 Type::print( os, indent ); 208 208 os << "instance of " << typeString() << " "; 209 const auto & name_ = get_name();210 209 if( deterministic_output && isUnboundType(name) ) os << "[unbound]"; 211 210 else os << name;
Note: See TracChangeset
for help on using the changeset viewer.