diff options
author | Martin Uecker <uecker@tugraz.at> | 2024-04-05 12:14:56 +0200 |
---|---|---|
committer | Martin Uecker <uecker@tugraz.at> | 2024-04-05 12:17:17 +0200 |
commit | 8057f9aa1f7e70490064de796d7a8d42d446caf8 (patch) | |
tree | ff58ea63d02489176ab0eea1c70b1225e777aa59 /gcc | |
parent | 9627cbbadbb935943c3d8336c057a021bbac2000 (diff) | |
download | gcc-8057f9aa1f7e70490064de796d7a8d42d446caf8.zip gcc-8057f9aa1f7e70490064de796d7a8d42d446caf8.tar.gz gcc-8057f9aa1f7e70490064de796d7a8d42d446caf8.tar.bz2 |
Revert "Fix ICE with -g and -std=c23 related to incomplete types [PR114361]"
This reverts commit 871bb5ad2dd56343d80b6a6d269e85efdc9999e5 because it
breaks LTO and needs a bit more work. See PR 114574.
Diffstat (limited to 'gcc')
-rw-r--r-- | gcc/c/c-decl.cc | 1 | ||||
-rw-r--r-- | gcc/testsuite/gcc.dg/c23-tag-incomplete-1.c | 14 | ||||
-rw-r--r-- | gcc/testsuite/gcc.dg/c23-tag-incomplete-2.c | 13 | ||||
-rw-r--r-- | gcc/testsuite/gcc.dg/pr114361.c | 11 |
4 files changed, 0 insertions, 39 deletions
diff --git a/gcc/c/c-decl.cc b/gcc/c/c-decl.cc index f2083b9..c747abe 100644 --- a/gcc/c/c-decl.cc +++ b/gcc/c/c-decl.cc @@ -9722,7 +9722,6 @@ finish_struct (location_t loc, tree t, tree fieldlist, tree attributes, C_TYPE_VARIABLE_SIZE (x) = C_TYPE_VARIABLE_SIZE (t); C_TYPE_VARIABLY_MODIFIED (x) = C_TYPE_VARIABLY_MODIFIED (t); C_TYPE_INCOMPLETE_VARS (x) = NULL_TREE; - TYPE_CANONICAL (x) = TYPE_CANONICAL (t); } /* Update type location to the one of the definition, instead of e.g. diff --git a/gcc/testsuite/gcc.dg/c23-tag-incomplete-1.c b/gcc/testsuite/gcc.dg/c23-tag-incomplete-1.c deleted file mode 100644 index 82d6525..0000000 --- a/gcc/testsuite/gcc.dg/c23-tag-incomplete-1.c +++ /dev/null @@ -1,14 +0,0 @@ -/* { dg-do compile } - * { dg-options "-std=c23 -g" } */ - -struct a; -typedef struct a b; - -void g() { - struct a { b* x; }; -} - -struct a { b* x; }; - - - diff --git a/gcc/testsuite/gcc.dg/c23-tag-incomplete-2.c b/gcc/testsuite/gcc.dg/c23-tag-incomplete-2.c deleted file mode 100644 index bc47a04..0000000 --- a/gcc/testsuite/gcc.dg/c23-tag-incomplete-2.c +++ /dev/null @@ -1,13 +0,0 @@ -/* { dg-do compile } - * { dg-options "-std=c23 -g" } */ - -struct a; -typedef struct a b; - -void f() { - extern struct a { b* x; } t; -} - -extern struct a { b* x; } t; - - diff --git a/gcc/testsuite/gcc.dg/pr114361.c b/gcc/testsuite/gcc.dg/pr114361.c deleted file mode 100644 index 0f3feb5..0000000 --- a/gcc/testsuite/gcc.dg/pr114361.c +++ /dev/null @@ -1,11 +0,0 @@ -/* PR c/114361 */ -/* { dg-do compile } */ -/* { dg-options "-std=gnu23 -g" } */ - -void f() -{ - typedef struct foo bar; - typedef __typeof( ({ (struct foo { bar *x; }){ }; }) ) wuz; - struct foo { wuz *x; }; -} - |