diff --git a/gcc/c/c-decl.cc b/gcc/c/c-decl.cc index f2083b9d96f..c747abe9f4e 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 82d652569e9..00000000000 --- 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 bc47a04ece5..00000000000 --- 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 0f3feb53566..00000000000 --- 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; }; -} -