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.
+++ /dev/null
-/* { dg-do compile }
- * { dg-options "-std=c23 -g" } */
-
-struct a;
-typedef struct a b;
-
-void g() {
- struct a { b* x; };
-}
-
-struct a { b* x; };
-
-
-
+++ /dev/null
-/* { 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;
-
-
+++ /dev/null
-/* 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; };
-}
-