summaryrefslogtreecommitdiff
path: root/gcc/tree-alias-type.h
diff options
context:
space:
mode:
authorDiego Novillo <dnovillo@gcc.gnu.org>2004-05-13 02:41:07 -0400
committerDiego Novillo <dnovillo@gcc.gnu.org>2004-05-13 02:41:07 -0400
commit6de9cd9a886ea695aa892c3c7c07818a7b7e9e6f (patch)
treea2568888a519c077427b133de9ece5879a8484a5 /gcc/tree-alias-type.h
parentac1a20aec53364d77f3bdff94a2a0a06840e0fe9 (diff)
downloadgcc-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.h41
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