| /* 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; | |
| } |