Home | History | Annotate | Download | only in CodeGenCXX
      1 // RUN: %clang_cc1 %s -emit-llvm-only -verify
      2 // expected-no-diagnostics
      3 // PR5489
      4 
      5 template<typename E>
      6 struct Bar {
      7  int x_;
      8 };
      9 
     10 static struct Bar<int> bar[1] = {
     11   { 0 }
     12 };
     13 
     14 
     15 
     16 namespace incomplete_type_refs {
     17   struct A;
     18   extern A g[];
     19   void foo(A*);
     20   void f(void) {
     21     foo(g);    // Reference to array with unknown element type.
     22   }
     23 
     24   struct A {   // define the element type.
     25     int a,b,c;
     26   };
     27 
     28   A *f2() {
     29     return &g[1];
     30   }
     31 
     32 }
     33 
     34 namespace PR10395 {
     35   struct T;
     36   extern T x[];
     37   T* f() { return x; }
     38 }
     39 
     40 namespace PR10384 {
     41   struct X;
     42   extern X x[1];
     43   X* f() { return x; }
     44 }
     45