Changeset f3b0a07 for src/InitTweak/InitTweak.cc
- Timestamp:
- Jan 16, 2017, 3:29:18 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:
- 5ebb2fbc
- Parents:
- 981bdc6
- File:
-
- 1 edited
Legend:
- Unmodified
- Added
- Removed
-
src/InitTweak/InitTweak.cc
r981bdc6 rf3b0a07 327 327 } else if ( ApplicationExpr * appExpr = dynamic_cast< ApplicationExpr * > ( expr ) ) { 328 328 return handleDerefCalledFunction( appExpr ); 329 } else if ( AddressExpr * addrExpr = dynamic_cast< AddressExpr * >( expr ) ) { 330 return getCalledFunction( addrExpr->get_arg() ); 329 331 } 330 332 return nullptr; … … 336 338 if ( ! appExpr ) return NULL; 337 339 DeclarationWithType * function = getCalledFunction( appExpr->get_function() ); 338 assert ( function);340 assertf( function, "getCalledFunction returned nullptr: %s", toString( appExpr->get_function() ).c_str() ); 339 341 // check for Intrinsic only - don't want to remove all overridable ctor/dtors because autogenerated ctor/dtor 340 342 // will call all member dtors, and some members may have a user defined dtor. … … 386 388 } else if ( UntypedExpr * untypedExpr = dynamic_cast< UntypedExpr * >( callExpr ) ) { 387 389 return callArg( untypedExpr, pos ); 390 } else if ( TupleAssignExpr * tupleExpr = dynamic_cast< TupleAssignExpr * > ( callExpr ) ) { 391 std::list< Statement * > & stmts = tupleExpr->get_stmtExpr()->get_statements()->get_kids(); 392 assertf( ! stmts.empty(), "TupleAssignExpr somehow has no statements." ); 393 ExprStmt * stmt = safe_dynamic_cast< ExprStmt * >( stmts.back() ); 394 TupleExpr * tuple = safe_dynamic_cast< TupleExpr * >( stmt->get_expr() ); 395 assertf( ! tuple->get_exprs().empty(), "TupleAssignExpr somehow has empty tuple expr." ); 396 return getCallArg( tuple->get_exprs().front(), pos ); 388 397 } else { 389 assertf( false, "Unexpected expression type passed to getCallArg ");398 assertf( false, "Unexpected expression type passed to getCallArg: %s", toString( callExpr ).c_str() ); 390 399 } 391 400 }
Note: See TracChangeset
for help on using the changeset viewer.