Changeset 1db306a
- Timestamp:
- Dec 3, 2020, 11:30:33 AM (4 years ago)
- Branches:
- ADT, arm-eh, ast-experimental, enum, forall-pointer-decay, jacob/cs343-translation, master, new-ast-unique-expr, pthread-emulation, qualifiedEnum
- Children:
- 636d3715, 63ec5fa
- Parents:
- cd6a6ff
- Files:
-
- 6 edited
Legend:
- Unmodified
- Added
- Removed
-
src/ResolvExpr/AlternativeFinder.cc
rcd6a6ff r1db306a 132 132 void printAlts( const AltList &list, std::ostream &os, unsigned int indentAmt ) { 133 133 Indenter indent = { indentAmt }; 134 135 std::vector<int> idx; 136 idx.reserve(list.size()); 137 for(int i = 0; i < list.size(); i++) { idx.push_back(i); } 138 139 std::sort(idx.begin(), idx.end(), [&list](int lhs_idx, int rhs_idx) -> bool { 140 const auto & lhs = list.at(lhs_idx); 141 const auto & rhs = list.at(rhs_idx); 142 if(lhs.expr->location.startsBefore(rhs.expr->location)) return true; 143 if(rhs.expr->location.startsBefore(lhs.expr->location)) return false; 144 145 if(lhs.env.size() < rhs.env.size()) return true; 146 if(lhs.env.size() > rhs.env.size()) return false; 147 148 if(lhs.openVars.size() < rhs.openVars.size()) return true; 149 if(lhs.openVars.size() > rhs.openVars.size()) return false; 150 151 if(lhs.need.size() < rhs.need.size()) return true; 152 if(lhs.need.size() > rhs.need.size()) return false; 153 154 return false; 155 }); 156 134 157 for ( AltList::const_iterator i = list.begin(); i != list.end(); ++i ) { 135 158 i->print( os, indent ); … … 1718 1741 std::cerr << std::endl; 1719 1742 ) 1720 1743 1721 1744 if ( thisCost != Cost::infinity ) { 1722 1745 // count one safe conversion for each value that is thrown away -
src/ResolvExpr/TypeEnvironment.h
rcd6a6ff r1db306a 149 149 iterator end() const { return env.end(); } 150 150 151 auto size() const { return env.size(); } 152 151 153 private: 152 154 ClassList env; -
tests/meta/.expect/archVast.nast.x64.txt
rcd6a6ff r1db306a 3 3 Name: FX64 4 4 ... to: 5 char 6 ... with resolved type: 5 7 char Alternatives are: 6 8 Cost ( 1, 0, 0, 0, 0, 0, 0 ): Explicit Cast of: 7 9 Variable Expression: FX64: signed int 10 ... with resolved type: 11 signed int 8 12 ... to: 13 char 14 ... with resolved type: 9 15 char 10 16 (types: … … 18 24 ... returning nothing 19 25 26 ... with resolved type: 27 pointer to function 28 accepting unspecified arguments 29 ... returning nothing 30 20 31 ... to: 32 char 33 ... with resolved type: 21 34 char 22 35 (types: … … 27 40 Cost ( 1, 0, 0, 0, 0, 0, 0 ): Explicit Cast of: 28 41 Variable Expression: FX64: double 42 ... with resolved type: 43 double 29 44 ... to: 45 char 46 ... with resolved type: 30 47 char 31 48 (types: -
tests/meta/.expect/archVast.nast.x86.txt
rcd6a6ff r1db306a 3 3 Name: FX86 4 4 ... to: 5 char 6 ... with resolved type: 5 7 char Alternatives are: 6 8 Cost ( 1, 0, 0, 0, 0, 0, 0 ): Explicit Cast of: 7 9 Variable Expression: FX86: signed int 10 ... with resolved type: 11 signed int 8 12 ... to: 13 char 14 ... with resolved type: 9 15 char 10 16 (types: … … 18 24 ... returning nothing 19 25 26 ... with resolved type: 27 pointer to function 28 accepting unspecified arguments 29 ... returning nothing 30 20 31 ... to: 32 char 33 ... with resolved type: 21 34 char 22 35 (types: … … 27 40 Cost ( 1, 0, 0, 0, 0, 0, 0 ): Explicit Cast of: 28 41 Variable Expression: FX86: double 42 ... with resolved type: 43 double 29 44 ... to: 45 char 46 ... with resolved type: 30 47 char 31 48 (types: -
tests/meta/.expect/archVast.oast.x64.txt
rcd6a6ff r1db306a 3 3 Name: FX64 4 4 ... to: 5 char 6 with resolved type: 5 7 char Alternatives are: 6 8 Cost ( 1, 0, 0, 0, 0, 0, 0 ): Explicit Cast of: … … 9 11 ... returning nothing 10 12 13 with resolved type: 14 pointer to function 15 accepting unspecified arguments 16 ... returning nothing 17 11 18 ... to: 19 char 20 with resolved type: 12 21 char 13 22 (types: … … 18 27 Cost ( 1, 0, 0, 0, 0, 0, 0 ): Explicit Cast of: 19 28 Variable Expression: FX64: double 29 with resolved type: 30 double 20 31 ... to: 32 char 33 with resolved type: 21 34 char 22 35 (types: … … 27 40 Cost ( 1, 0, 0, 0, 0, 0, 0 ): Explicit Cast of: 28 41 Variable Expression: FX64: signed int 42 with resolved type: 43 signed int 29 44 ... to: 45 char 46 with resolved type: 30 47 char 31 48 (types: -
tests/meta/.expect/archVast.oast.x86.txt
rcd6a6ff r1db306a 3 3 Name: FX86 4 4 ... to: 5 char 6 with resolved type: 5 7 char Alternatives are: 6 8 Cost ( 1, 0, 0, 0, 0, 0, 0 ): Explicit Cast of: … … 9 11 ... returning nothing 10 12 13 with resolved type: 14 pointer to function 15 accepting unspecified arguments 16 ... returning nothing 17 11 18 ... to: 19 char 20 with resolved type: 12 21 char 13 22 (types: … … 18 27 Cost ( 1, 0, 0, 0, 0, 0, 0 ): Explicit Cast of: 19 28 Variable Expression: FX86: double 29 with resolved type: 30 double 20 31 ... to: 32 char 33 with resolved type: 21 34 char 22 35 (types: … … 27 40 Cost ( 1, 0, 0, 0, 0, 0, 0 ): Explicit Cast of: 28 41 Variable Expression: FX86: signed int 42 with resolved type: 43 signed int 29 44 ... to: 45 char 46 with resolved type: 30 47 char 31 48 (types:
Note: See TracChangeset
for help on using the changeset viewer.