Changes in src/Tuples/TupleExpansion.cc [c0aa336:b7b8674]
- File:
-
- 1 edited
Legend:
- Unmodified
- Added
- Removed
-
src/Tuples/TupleExpansion.cc
rc0aa336 rb7b8674 29 29 #include "ResolvExpr/typeops.h" 30 30 #include "InitTweak/GenInit.h" 31 #include "InitTweak/InitTweak.h" 31 32 32 33 namespace Tuples { … … 337 338 public: 338 339 typedef Visitor Parent; 339 virtual void visit( ApplicationExpr * appExpr ) { maybeImpure = true; } 340 virtual void visit( ApplicationExpr * appExpr ) { 341 if ( DeclarationWithType * function = InitTweak::getFunction( appExpr ) ) { 342 if ( function->get_linkage() == LinkageSpec::Intrinsic ) { 343 if ( function->get_name() == "*?" || function->get_name() == "?[?]" ) { 344 // intrinsic dereference, subscript are pure, but need to recursively look for impurity 345 Parent::visit( appExpr ); 346 return; 347 } 348 } 349 } 350 maybeImpure = true; 351 } 340 352 virtual void visit( UntypedExpr * untypedExpr ) { maybeImpure = true; } 341 353 bool maybeImpure = false;
Note:
See TracChangeset
for help on using the changeset viewer.