Home | History | Annotate | Download | only in CodeGenCXX
      1 // RUN: %clang_cc1 %s -std=c++11 -emit-llvm-only
      2 // RUN: %clang_cc1 -emit-obj -o %t -debug-info-kind=line-tables-only -std=c++11 %s
      3 // CHECK that we don't crash.
      4 
      5 // PR11676's example is ill-formed:
      6 /*
      7 union _XEvent {
      8 };
      9 void ProcessEvent() {
     10   _XEvent pluginEvent = _XEvent();
     11 }
     12 */
     13 
     14 // Example from PR11665:
     15 void f() {
     16   union U { int field; } u = U();
     17   (void)U().field;
     18 }
     19 
     20 namespace PR17476 {
     21 struct string {
     22   string(const char *__s);
     23   string &operator+=(const string &__str);
     24 };
     25 
     26 template <class ELFT> void finalizeDefaultAtomValues() {
     27   auto startEnd = [&](const char * sym)->void {
     28     string start("__");
     29     start += sym;
     30   }
     31   ;
     32   startEnd("preinit_array");
     33 }
     34 
     35 void f() { finalizeDefaultAtomValues<int>(); }
     36 }
     37