Changes in / [e58be8e:5bf4712]
- File:
-
- 1 edited
-
src/GenPoly/Box.cc (modified) (4 diffs)
Legend:
- Unmodified
- Added
- Removed
-
src/GenPoly/Box.cc
re58be8e r5bf4712 10 10 // Created On : Mon May 18 07:44:20 2015 11 11 // Last Modified By : Rob Schluntz 12 // Last Modified On : Wed Dec 02 11:52:37201513 // Update Count : 20112 // Last Modified On : Thu Nov 26 17:01:55 2015 13 // Update Count : 191 14 14 // 15 15 … … 183 183 } 184 184 185 // returns true if the given declaration is: (*?=?)(T *, T) for some T (return not checked, but maybe should be)186 185 bool checkAssignment( DeclarationWithType *decl, std::string &name ) { 187 186 if ( decl->get_name() == "?=?" ) { … … 669 668 TypeInstType *typeInst1 = isPolyPtr( appExpr->get_args().front()->get_results().front(), env, scopeTyVars ); 670 669 TypeInstType *typeInst2 = isPolyPtr( appExpr->get_args().back()->get_results().front(), env, scopeTyVars ); 671 assert( ! typeInst1 || ! typeInst2 ); // the arguments cannot both be polymorphic pointers670 assert( ! typeInst1 || ! typeInst2 ); 672 671 UntypedExpr *ret = 0; 673 if ( typeInst1 || typeInst2 ) { // one of the arguments is a polymorphic pointer672 if ( typeInst1 || typeInst2 ) { 674 673 ret = new UntypedExpr( new NameExpr( "?+?" ) ); 675 674 } // if … … 867 866 868 867 Statement * Pass1::mutate(ReturnStmt *retStmt) { 869 // by this point, a cast expr on a polymorphic return value is redundant868 // a cast expr on a polymorphic return value is either redundant or invalid 870 869 while ( CastExpr *castExpr = dynamic_cast< CastExpr *>( retStmt->get_expr() ) ) { 871 870 retStmt->set_expr( castExpr->get_arg() );
Note:
See TracChangeset
for help on using the changeset viewer.