Changeset 3fb9a83
- Timestamp:
- Jun 1, 2017, 3:18:58 PM (7 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:
- 134322e
- Parents:
- 5013c62
- Location:
- src/Common
- Files:
-
- 3 edited
Legend:
- Unmodified
- Added
- Removed
-
src/Common/PassVisitor.h
r5013c62 r3fb9a83 218 218 void call_endScope () { end_scope_impl ( pass, 0 ); } 219 219 220 void set_env( TypeSubstitution * env ) { set_env_impl( pass, env, 0); } 221 220 222 void mutateStatementList( std::list< Statement* > &statements ); 221 223 Statement * mutateStatement( Statement * stmt ); -
src/Common/PassVisitor.impl.h
r5013c62 r3fb9a83 51 51 ValueGuard< std::list< Statement* > > oldStmtsToAddAfter( stmtsToAddAfter ); 52 52 ValueGuard< TypeSubstitution * > oldEnv( env ); 53 set_env( env ); 54 53 55 stmtsToAdd.clear(); 54 56 stmtsToAddAfter.clear(); … … 73 75 if ( expr->get_env() ) { 74 76 env = expr->get_env(); 77 set_env( env ); 75 78 } 76 79 // xxx - should env be cloned (or moved) onto the result of the mutate? … … 488 491 ValueGuard< std::list< Statement* > > oldStmtsToAddAfter( stmtsToAddAfter ); 489 492 ValueGuard< TypeSubstitution * > oldEnv( env ); 493 set_env( env ); 490 494 491 495 // xxx - not sure if this is needed, along with appropriate reset, but I don't think so... -
src/Common/PassVisitor.proto.h
r5013c62 r3fb9a83 69 69 template<typename pass_type> 70 70 static inline void end_scope_impl( __attribute__((unused)) pass_type& pass, __attribute__((unused)) long unused ) {} 71 72 // Env 73 template<typename pass_type> 74 static inline auto set_env_impl( pass_type& pass, TypeSubstitution * env, __attribute__((unused)) int unused ) ->decltype( pass.env, void() ) { 75 pass.env = env; 76 } 77 78 template<typename pass_type> 79 static inline void set_env_impl( __attribute__((unused)) pass_type& pass, __attribute__((unused)) TypeSubstitution * env, __attribute__((unused)) long unused ) {}
Note: See TracChangeset
for help on using the changeset viewer.