xref: /llvm-project/clang/test/CodeGenCXX/member-init-struct.cpp (revision c6e68daac0fa6e77a89f3ca72f266a528503dd1c)
18fbe78f6SDaniel Dunbar // RUN: %clang_cc1 %s -emit-llvm-only -verify
2*c6e68daaSAndy Gibbs // expected-no-diagnostics
3e85ef718SEli Friedman 
4e85ef718SEli Friedman struct A {int a;};
5e85ef718SEli Friedman struct B {float a;};
6e85ef718SEli Friedman struct C {
7e85ef718SEli Friedman   union {
8e85ef718SEli Friedman     A a;
9e85ef718SEli Friedman     B b[10];
10e85ef718SEli Friedman   };
11e85ef718SEli Friedman   _Complex float c;
12e85ef718SEli Friedman   int d[10];
13e85ef718SEli Friedman   void (C::*e)();
CC14e85ef718SEli Friedman   C() : a(), c(), d(), e() {}
CC15e85ef718SEli Friedman   C(A x) : a(x) {}
CC16e85ef718SEli Friedman   C(void (C::*x)(), int y) : b(), c(y), e(x) {}
17e85ef718SEli Friedman };
18e85ef718SEli Friedman A x;
19e85ef718SEli Friedman C a, b(x), c(0, 2);
20