diff --git a/gcc/cp/ChangeLog b/gcc/cp/ChangeLog
index 167df4e8d58fe7dbc5f2b9feb1f334298fb6bb41..b1eda6126ab7a4c2b3cefe4166103ce5f073687a 100644
--- a/gcc/cp/ChangeLog
+++ b/gcc/cp/ChangeLog
@@ -1,3 +1,8 @@
+2002-05-12  Jason Merrill  <jason@redhat.com>
+
+	* cp-lang.c (ok_to_generate_alias_set_for_type): Backend-created
+	structs are safe.
+
 2002-05-09  Neil Booth  <neil@daikokuya.demon.co.uk>
 
 	* cp-tree.h (flag_ansi): Remove.
diff --git a/gcc/cp/cp-lang.c b/gcc/cp/cp-lang.c
index 815ede9e5ba4dc0cfa4a06b0666c90964d01d4d5..973c14fed0deb0951098e9a8831be81c4c7acf96 100644
--- a/gcc/cp/cp-lang.c
+++ b/gcc/cp/cp-lang.c
@@ -210,6 +210,9 @@ ok_to_generate_alias_set_for_type (t)
       if ((TREE_CODE (t) == RECORD_TYPE) || (TREE_CODE (t) == UNION_TYPE))
 	{
 	  tree fields;
+	  /* Backend-created structs are safe.  */
+	  if (! CLASS_TYPE_P (t))
+	    return true;
 	  /* PODs are safe.  */
 	  if (! CLASSTYPE_NON_POD_P(t))
 	    return true;