1 // RUN: %clang_cc1 -emit-llvm-only -triple %itanium_abi_triple -verify %s
2 // expected-no-diagnostics
3 
4 struct XPTParamDescriptor {};
5 struct nsXPTParamInfo {
6   nsXPTParamInfo(const XPTParamDescriptor& desc);
7 };
a(XPTParamDescriptor * params)8 void a(XPTParamDescriptor *params) {
9   const nsXPTParamInfo& paramInfo = params[0];
10 }
11 
12 // CodeGen of reference initialized const arrays.
13 namespace PR5911 {
f(const T (& a)[N])14   template <typename T, int N> int f(const T (&a)[N]) { return N; }
15   int iarr[] = { 1 };
test()16   int test() { return f(iarr); }
17 }
18 
19 // radar 7574896
20 struct Foo { int foo; };
21 Foo& ignoreSetMutex = *(new Foo);
22 
23 // Binding to a bit-field that requires a temporary.
24 struct { int bitfield : 3; } s = { 3 };
25 const int &s2 = s.bitfield;
26