brintos

brintos / llvm-project-archived public Read only

0
0
Text · 592 B · 802ed46 Raw
45 lines · cpp
1// RUN: %clang_cc1 %s -emit-llvm-only -verify2// expected-no-diagnostics3// PR54894 5template<typename E>6struct Bar {7 int x_;8};9 10static struct Bar<int> bar[1] = {11  { 0 }12};13 14 15 16namespace 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 34namespace PR10395 {35  struct T;36  extern T x[];37  T* f() { return x; }38}39 40namespace PR10384 {41  struct X;42  extern X x[1];43  X* f() { return x; }44}45