diff options
author | Richard Henderson <rth@cygnus.com> | 1998-09-20 12:02:58 -0700 |
---|---|---|
committer | Richard Henderson <rth@gcc.gnu.org> | 1998-09-20 12:02:58 -0700 |
commit | 2ba573431ea23d88372e6c40a7652046d8afbd54 (patch) | |
tree | b4448b05bc5b4459d2016f66d11d33af836c5629 /gcc | |
parent | 899f1ed6980f803397d2bc6a1efc6a406be4a37a (diff) | |
download | gcc-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/ChangeLog | 6 | ||||
-rw-r--r-- | gcc/c-common.c | 3 | ||||
-rw-r--r-- | gcc/tree.c | 12 | ||||
-rw-r--r-- | gcc/tree.h | 1 |
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); } @@ -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; +} @@ -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 */ |