/* Test handling of lvalues of incomplete types. Bugs 36941, 88647 (invalid), 88827. */ /* { dg-do compile } */ /* { dg-options "-std=c11 -pedantic-errors" } */ struct S; extern struct S var; extern struct S *vp; void f8 (void) { /* These are valid because there is no constraint violation and the result of '*' is never converted from an lvalue to an rvalue (which would yield undefined behavior). */ &var; &*vp; &(var); &(*vp); &*&*vp; }