* 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
+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
c_get_alias_set (t)
tree t;
{
- static int next_set = 0;
tree type;
if (t == error_mark_node)
/* 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);
}
/* 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)
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;
+}
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));
\f
/* In stmt.c */