Changeset ac2b598 for src/ResolvExpr
- Timestamp:
- Feb 24, 2020, 2:21:03 PM (6 years ago)
- Branches:
- ADT, arm-eh, ast-experimental, enum, forall-pointer-decay, jacob/cs343-translation, jenkins-sandbox, master, new-ast, new-ast-unique-expr, pthread-emulation, qualifiedEnum
- Children:
- 959f6ad
- Parents:
- 0f2c555
- File:
-
- 1 edited
-
src/ResolvExpr/AlternativeFinder.cc (modified) (2 diffs)
Legend:
- Unmodified
- Added
- Removed
-
src/ResolvExpr/AlternativeFinder.cc
r0f2c555 rac2b598 1292 1292 1293 1293 try { 1294 // Attempt 1 : turn (thread&)X into ( thread_desc&)X.__thrd1294 // Attempt 1 : turn (thread&)X into ($thread&)X.__thrd 1295 1295 // Clone is purely for memory management 1296 1296 std::unique_ptr<Expression> tech1 { new UntypedMemberExpr(new NameExpr(castExpr->concrete_target.field), castExpr->arg->clone()) }; … … 1303 1303 } catch(SemanticErrorException & ) {} 1304 1304 1305 // Fallback : turn (thread&)X into ( thread_desc&)get_thread(X)1305 // Fallback : turn (thread&)X into ($thread&)get_thread(X) 1306 1306 std::unique_ptr<Expression> fallback { UntypedExpr::createDeref( new UntypedExpr(new NameExpr(castExpr->concrete_target.getter), { castExpr->arg->clone() })) }; 1307 1307 // don't prune here, since it's guaranteed all alternatives will have the same type
Note:
See TracChangeset
for help on using the changeset viewer.