diff options
| author | dnovillo <dnovillo@138bc75d-0d04-0410-961f-82ee72b054a4> | 2004-05-13 06:41:07 +0000 |
|---|---|---|
| committer | dnovillo <dnovillo@138bc75d-0d04-0410-961f-82ee72b054a4> | 2004-05-13 06:41:07 +0000 |
| commit | 4ee9c6840ad3fc92a9034343278a1e476ad6872a (patch) | |
| tree | a2568888a519c077427b133de9ece5879a8484a5 /gcc/tree-alias-type.h | |
| parent | ebb338380ab170c91e64d38038e6b5ce930d69a1 (diff) | |
| download | ppe42-gcc-4ee9c6840ad3fc92a9034343278a1e476ad6872a.tar.gz ppe42-gcc-4ee9c6840ad3fc92a9034343278a1e476ad6872a.zip | |
Merge tree-ssa-20020619-branch into mainline.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@81764 138bc75d-0d04-0410-961f-82ee72b054a4
Diffstat (limited to 'gcc/tree-alias-type.h')
| -rw-r--r-- | gcc/tree-alias-type.h | 41 |
1 files changed, 41 insertions, 0 deletions
diff --git a/gcc/tree-alias-type.h b/gcc/tree-alias-type.h new file mode 100644 index 00000000000..7740e9933d7 --- /dev/null +++ b/gcc/tree-alias-type.h @@ -0,0 +1,41 @@ +#ifndef TREE_ALIAS_TYPE_H +#define TREE_ALIAS_TYPE_H + +#include "varray.h" + +union alias_var_def; +struct aterm_; +struct aterm_list_a; +enum alias_var_kind +{ + ATERM_AVAR +}; +struct alias_var_common GTY (()) +{ + enum alias_var_kind kind; + unsigned int varnum; + tree decl; +}; +struct alias_var_aterm GTY (()) +{ + struct alias_var_common common; + struct aterm_ * GTY((skip (""))) term; + struct aterm_list_a *GTY ((skip (""))) ptset; +}; +union alias_var_def GTY ((desc ("%0.common.kind"))) +{ + struct alias_var_common GTY ((tag ("-1"))) common; + struct alias_var_aterm GTY ((tag ("ATERM_AVAR"))) aterm; +}; +typedef union alias_var_def *alias_var; + +#define ALIAS_VAR_KIND(x) ((x)->common.kind) +#define ALIAS_VAR_VARNUM(x) ((x)->common.varnum) +#define ALIAS_VAR_DECL(x) ((x)->common.decl) +#define ALIAS_VAR_ATERM(x) ((x)->aterm.term) +#define ALIAS_VAR_PTSET(x) ((x)->aterm.ptset) +union alias_type_def; +typedef union alias_type_def *alias_type; + +alias_var alias_var_new_with_aterm (tree, struct aterm_ *); +#endif |

