aboutsummaryrefslogtreecommitdiff
path: root/gcc
diff options
context:
space:
mode:
authorRichard Henderson <rth@cygnus.com>1998-09-20 12:02:58 -0700
committerRichard Henderson <rth@gcc.gnu.org>1998-09-20 12:02:58 -0700
commit2ba573431ea23d88372e6c40a7652046d8afbd54 (patch)
treeb4448b05bc5b4459d2016f66d11d33af836c5629 /gcc
parent899f1ed6980f803397d2bc6a1efc6a406be4a37a (diff)
downloadgcc-2ba573431ea23d88372e6c40a7652046d8afbd54.zip
gcc-2ba573431ea23d88372e6c40a7652046d8afbd54.tar.gz
gcc-2ba573431ea23d88372e6c40a7652046d8afbd54.tar.bz2
tree.c (new_alias_set): New function.
* tree.c (new_alias_set): New function. * tree.h (new_alias_set): Declare it. * c-common.c (c_get_alias_set): Use it. From-SVN: r22504
Diffstat (limited to 'gcc')
-rw-r--r--gcc/ChangeLog6
-rw-r--r--gcc/c-common.c3
-rw-r--r--gcc/tree.c12
-rw-r--r--gcc/tree.h1
4 files changed, 19 insertions, 3 deletions
diff --git a/gcc/ChangeLog b/gcc/ChangeLog
index 1f58e78..0d4cf53 100644
--- a/gcc/ChangeLog
+++ b/gcc/ChangeLog
@@ -1,3 +1,9 @@
+Sun Sep 20 19:01:51 1998 Richard Henderson <rth@cygnus.com>
+
+ * tree.c (new_alias_set): New function.
+ * tree.h (new_alias_set): Declare it.
+ * c-common.c (c_get_alias_set): Use it.
+
Sun Sep 20 12:35:55 1998 Richard Henderson <rth@cygnus.com>
* fold-const.c (fold): Yet another COND_EXPR bug: when folding
diff --git a/gcc/c-common.c b/gcc/c-common.c
index a5f738b..5879a85 100644
--- a/gcc/c-common.c
+++ b/gcc/c-common.c
@@ -2984,7 +2984,6 @@ int
c_get_alias_set (t)
tree t;
{
- static int next_set = 0;
tree type;
if (t == error_mark_node)
@@ -3060,6 +3059,6 @@ c_get_alias_set (t)
/* TYPE is something we haven't seen before. Put it in a new alias
set. */
- TYPE_ALIAS_SET (type) = ++next_set;
+ TYPE_ALIAS_SET (type) = new_alias_set ();
return TYPE_ALIAS_SET (type);
}
diff --git a/gcc/tree.c b/gcc/tree.c
index 2ae6d0b..e0e2484 100644
--- a/gcc/tree.c
+++ b/gcc/tree.c
@@ -5061,7 +5061,8 @@ expr_check (node, ignored, file, line, nofatal)
/* Return the alias set for T, which may be either a type or an
expression. */
-int get_alias_set (t)
+int
+get_alias_set (t)
tree t;
{
if (!flag_strict_aliasing || !lang_get_alias_set)
@@ -5071,3 +5072,12 @@ int get_alias_set (t)
else
return (*lang_get_alias_set) (t);
}
+
+/* Return a brand-new alias set. */
+
+int
+new_alias_set ()
+{
+ static int last_alias_set;
+ return ++last_alias_set;
+}
diff --git a/gcc/tree.h b/gcc/tree.h
index 58293e4..9f3dbd91 100644
--- a/gcc/tree.h
+++ b/gcc/tree.h
@@ -1865,6 +1865,7 @@ extern tree get_set_constructor_bits PROTO((tree, char *, int));
extern tree get_set_constructor_bytes PROTO((tree,
unsigned char *, int));
extern int get_alias_set PROTO((tree));
+extern int new_alias_set PROTO((void));
extern int (*lang_get_alias_set) PROTO((tree));
/* In stmt.c */