summaryrefslogtreecommitdiff
path: root/gcc/expr-escaper.hpp
blob: 6498f9e3dd4efd2d93d3e793104bb963ae90dcaf (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
#pragma once

#include "ipa-prototype.h"
#include "expr-walker.hpp"
#include "type-escaper.hpp"
#include "collect-types.h"

class ExprEscaper : public ExprWalker
{
public:
  TypeEscaper typeEscaper;
  ExprEscaper(ptrset_t &types) : typeEscaper(types) {};
  ptrset_t get_sets() { return typeEscaper.get_sets(); };
  void update(const_tree t, Reason r);
private:
  Reason _r;
  virtual void _walk_pre(const_tree e);
};