2000-11-09 Geoffrey Keating <geoffk@redhat.com>
* c-decl.c (finish_struct): When a structure is completed,
check all its variant types for completeness.
In gcc/testsuite/:
2000-11-09 Geoffrey Keating <geoffk@redhat.com>
* gcc.c-torture/compile/
20001109-1.c: New test.
* gcc.c-torture/compile/
20001109-2.c: New test.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@37346
138bc75d-0d04-0410-961f-
82ee72b054a4
+2000-11-09 Geoffrey Keating <geoffk@redhat.com>
+
+ * c-decl.c (finish_struct): When a structure is completed,
+ check all its variant types for completeness.
+
2000-11-09 Neil Booth <neilb@earthling.net>
* cpphash.c: Move cpp_defined here from cpplib.c.
tree decl;
for (decl = current_binding_level->names; decl; decl = TREE_CHAIN (decl))
{
- if (TREE_TYPE (decl) == t
+ if (TYPE_MAIN_VARIANT (TREE_TYPE (decl)) == TYPE_MAIN_VARIANT (t)
&& TREE_CODE (decl) != TYPE_DECL)
{
layout_decl (decl, 0);
+2000-11-09 Geoffrey Keating <geoffk@redhat.com>
+
+ * gcc.c-torture/compile/20001109-1.c: New test.
+ * gcc.c-torture/compile/20001109-2.c: New test.
+
2000-11-09 Nathan Sidwell <nathan@codesourcery.com>
* g++.old-deja/g++.pt/operator1.C: New test.
--- /dev/null
+typedef struct _foo foo;
+extern foo bar;
+struct _foo {
+ int a;
+};
+
+int tst[__alignof__ (bar) >= __alignof__ (int) ? 1 : -1];
--- /dev/null
+extern struct foo bar;
+struct foo {
+ int a;
+};
+
+int tst[__alignof__ (bar) >= __alignof__ (int) ? 1 : -1];