diff options
Diffstat (limited to 'gcc/tree-pass.h')
-rw-r--r-- | gcc/tree-pass.h | 13 |
1 files changed, 12 insertions, 1 deletions
diff --git a/gcc/tree-pass.h b/gcc/tree-pass.h index 787a49b..b2182c5 100644 --- a/gcc/tree-pass.h +++ b/gcc/tree-pass.h @@ -76,11 +76,22 @@ namespace gcc /* An instance of a pass. This is also "pass_data" to minimize the changes in existing code. */ -class opt_pass : public pass_data +class GTY((user)) opt_pass : public pass_data { public: + /* Ensure that instances are allocated in the GC-managed heap. */ + void *operator new (size_t sz); + virtual ~opt_pass () { } + /* GTY((user)) methods, to be called once per traversal. + opt_pass subclasses with additional GC-managed data should override + these, chain up to the base class implementation, then walk their + extra fields. */ + virtual void gt_ggc_mx (); + virtual void gt_pch_nx (); + virtual void gt_pch_nx_with_op (gt_pointer_operator op, void *cookie); + /* Create a copy of this pass. Passes that can have multiple instances must provide their own |