diff options
author | Diego Novillo <dnovillo@gcc.gnu.org> | 2004-05-13 02:41:07 -0400 |
---|---|---|
committer | Diego Novillo <dnovillo@gcc.gnu.org> | 2004-05-13 02:41:07 -0400 |
commit | 6de9cd9a886ea695aa892c3c7c07818a7b7e9e6f (patch) | |
tree | a2568888a519c077427b133de9ece5879a8484a5 /gcc/tree-alias-type.h | |
parent | ac1a20aec53364d77f3bdff94a2a0a06840e0fe9 (diff) | |
download | gcc-6de9cd9a886ea695aa892c3c7c07818a7b7e9e6f.tar.gz |
Merge tree-ssa-20020619-branch into mainline.
From-SVN: r81764
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 |