diff options
author | Erick Ochoa <erick.ochoa@theobroma-systems.com> | 2020-06-03 15:11:58 +0200 |
---|---|---|
committer | Erick Ochoa <erick.ochoa@theobroma-systems.com> | 2020-09-08 09:00:45 +0200 |
commit | 1815a94ae683faa52bdc6f28c7bda7042aa6ea60 (patch) | |
tree | ba353ff991d9abda2c76ff065bc48f01f0e8dce6 /gcc/expr-escaper.hpp | |
parent | 9a7da7ea57520057721600935f295d8cecd28860 (diff) |
Expr-escaper
Diffstat (limited to 'gcc/expr-escaper.hpp')
-rw-r--r-- | gcc/expr-escaper.hpp | 31 |
1 files changed, 31 insertions, 0 deletions
diff --git a/gcc/expr-escaper.hpp b/gcc/expr-escaper.hpp new file mode 100644 index 00000000000..3f4688669b6 --- /dev/null +++ b/gcc/expr-escaper.hpp @@ -0,0 +1,31 @@ +#include "ipa-hello-world.h" +#include "expr-walker.hpp" + +class ExprEscaper : public ExprWalker +{ +public: + ExprEscaper() {}; + void update(const_tree t, Reason r); + static TypeEscaper *typeEscaper; +private: + Reason _r; + virtual void _walk_pre(const_tree e); +}; + +void +ExprEscaper::update(const_tree t, Reason r) +{ + gcc_assert(t); + _r = r; + walk(t); +} + +void +ExprEscaper::_walk_pre(const_tree e) +{ + const_tree t = TREE_TYPE(e); + gcc_assert(t); + typeEscaper->update(t, _r); +} + + |