From 2ba573431ea23d88372e6c40a7652046d8afbd54 Mon Sep 17 00:00:00 2001 From: Richard Henderson Date: Sun, 20 Sep 1998 12:02:58 -0700 Subject: [PATCH] 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 --- gcc/ChangeLog | 6 ++++++ gcc/c-common.c | 3 +-- gcc/tree.c | 12 +++++++++++- gcc/tree.h | 1 + 4 files changed, 19 insertions(+), 3 deletions(-) diff --git a/gcc/ChangeLog b/gcc/ChangeLog index 1f58e78ed60..0d4cf53b294 100644 --- a/gcc/ChangeLog +++ b/gcc/ChangeLog @@ -1,3 +1,9 @@ +Sun Sep 20 19:01:51 1998 Richard Henderson + + * 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 * fold-const.c (fold): Yet another COND_EXPR bug: when folding diff --git a/gcc/c-common.c b/gcc/c-common.c index a5f738bdf5c..5879a851286 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 2ae6d0b5cc2..e0e2484632c 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 58293e49d5e..9f3dbd910b7 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 */