Changeset 064cb18 for src/ResolvExpr
- Timestamp:
- Feb 3, 2017, 4:02:13 PM (8 years ago)
- Branches:
- ADT, aaron-thesis, arm-eh, ast-experimental, cleanup-dtors, 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:
- dbe8f244
- Parents:
- a9fc180
- git-author:
- Rob Schluntz <rschlunt@…> (02/03/17 15:56:16)
- git-committer:
- Rob Schluntz <rschlunt@…> (02/03/17 16:02:13)
- File:
-
- 1 edited
Legend:
- Unmodified
- Added
- Removed
-
TabularUnified src/ResolvExpr/AlternativeFinder.cc ¶
ra9fc180 r064cb18 403 403 // End of actuals - Handle default values 404 404 if ( SingleInit *si = dynamic_cast<SingleInit *>( defaultValue )) { 405 // so far, only constant expressions are accepted as default values 406 if ( ConstantExpr *cnstexpr = dynamic_cast<ConstantExpr *>( si->get_value()) ) { 407 if ( Constant *cnst = dynamic_cast<Constant *>( cnstexpr->get_constant() ) ) { 408 if ( unify( formalType, cnst->get_type(), resultEnv, resultNeed, resultHave, openVars, indexer ) ) { 409 // xxx - Don't know if this is right 410 *out++ = cnstexpr->clone(); 411 return true; 405 if ( CastExpr * castExpr = dynamic_cast< CastExpr * >( si->get_value() ) ) { 406 // so far, only constant expressions are accepted as default values 407 if ( ConstantExpr *cnstexpr = dynamic_cast<ConstantExpr *>( castExpr->get_arg() ) ) { 408 if ( Constant *cnst = dynamic_cast<Constant *>( cnstexpr->get_constant() ) ) { 409 if ( unify( formalType, cnst->get_type(), resultEnv, resultNeed, resultHave, openVars, indexer ) ) { 410 *out++ = cnstexpr->clone(); 411 return true; 412 } // if 412 413 } // if 413 414 } // if 414 } // if415 } 415 416 } // if 416 417 return false;
Note: See TracChangeset
for help on using the changeset viewer.