2010-05-08 Eric Botcazou <ebotcazou@adacore.com>
+ * gcc-interface/decl.c (make_aligning_type): Declare the type.
+
+2010-05-08 Eric Botcazou <ebotcazou@adacore.com>
+
* gcc-interface/decl.c (gnat_to_gnu_entity): Create variables for size
expressions of variant part of record types declared at library level.
if (TREE_CODE (name) == TYPE_DECL)
name = DECL_NAME (name);
-
- TYPE_NAME (record_type) = concat_name (name, "_ALIGN");
+ name = concat_name (name, "ALIGN");
+ TYPE_NAME (record_type) = name;
/* Compute VOFFSET and then POS. The next byte position multiple of some
alignment after some address is obtained by "and"ing the alignment minus
size_int (room + align / BITS_PER_UNIT));
SET_TYPE_MODE (record_type, BLKmode);
-
relate_alias_sets (record_type, type, ALIAS_SET_COPY);
+
+ /* Declare it now since it will never be declared otherwise. This is
+ necessary to ensure that its subtrees are properly marked. */
+ create_type_decl (name, record_type, NULL, true, false, Empty);
+
return record_type;
}
\f
2010-05-08 Eric Botcazou <ebotcazou@adacore.com>
+ * gnat.dg/lto4.ad[sb]: New test.
+
+2010-05-08 Eric Botcazou <ebotcazou@adacore.com>
+
* gnat.dg/specs/lto3.ads: New test.
* gnat.dg/specs/lto3_pkg1.ad[sb]: New helper.
* gnat.dg/specs/lto3_pkg2.ad[sb]: Likewise.