Changeset 066d77a
- Timestamp:
- Nov 8, 2016, 4:08:36 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:
- b6fd751
- Parents:
- 3f0c6a5
- File:
-
- 1 edited
Legend:
- Unmodified
- Added
- Removed
-
src/CodeGen/CodeGenerator.cc
r3f0c6a5 r066d77a 307 307 } else { 308 308 // no address-of operator, so must be a pointer - add dereference 309 // NOTE: if the assertion starts to trigger, check that the application expr isn't being shared. 310 // Since its arguments are modified here, this assertion most commonly triggers when the application 311 // is visited multiple times. 309 312 UntypedExpr * newExpr = new UntypedExpr( new NameExpr( "*?" ) ); 310 313 newExpr->get_args().push_back( *arg ); 311 314 Type * type = InitTweak::getPointerBase( (*arg)->get_result() ); 312 assert ( type);315 assertf( type, "First argument to a derefence must be a pointer. Ensure that expressions are not being shared." ); 313 316 newExpr->set_result( type->clone() ); 314 317 *arg = newExpr;
Note: See TracChangeset
for help on using the changeset viewer.