Home | History | Annotate | Download | only in Sema
      1 /* RUN: %clang_cc1 -fsyntax-only -verify -std=c90 -pedantic %s
      2  */
      3 void
      4 foo (void)
      5 {
      6  struct b;
      7  struct b* x = 0;
      8  struct b* y = &*x;
      9 }
     10 
     11 void foo2 (void)
     12 {
     13  typedef int (*arrayptr)[];
     14  arrayptr x = 0;
     15  arrayptr y = &*x;
     16 }
     17 
     18 void foo3 (void)
     19 {
     20  void* x = 0;
     21  void* y = &*x; /* expected-warning{{address of an expression of type 'void'}} */
     22 }
     23 
     24 extern const void cv1;
     25 
     26 const void *foo4 (void)
     27 {
     28   return &cv1;
     29 }
     30 
     31 extern void cv2;
     32 void *foo5 (void)
     33 {
     34   return &cv2; /* expected-warning{{address of an expression of type 'void'}} */
     35 }
     36 
     37 typedef const void CVT;
     38 extern CVT cv3;
     39 
     40 const void *foo6 (void)
     41 {
     42   return &cv3;
     43 }
     44 
     45