DR1472: A reference isn't odr-used if it has preceding initialization,
initialized by a reference constant expression.

Our odr-use modeling still needs work here: we don't yet implement the 'set of
potential results of an expression' DR.


git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@166361 91177308-0d34-0410-b5e6-96231b3b80d8
diff --git a/test/CodeGenCXX/lambda-expressions.cpp b/test/CodeGenCXX/lambda-expressions.cpp
index e872cc4..cee4f17 100644
--- a/test/CodeGenCXX/lambda-expressions.cpp
+++ b/test/CodeGenCXX/lambda-expressions.cpp
@@ -71,6 +71,15 @@
   int (*fp)(int, int) = [](int x, int y){ return x + y; };
 }
 
+static int k;
+int g() {
+  int &r = k;
+  // CHECK: define internal i32 @"_ZZ1gvENK3$_6clEv"(
+  // CHECK-NOT: }
+  // CHECK: load i32* @_ZL1k,
+  return [] { return r; } ();
+};
+
 // CHECK: define internal i32 @"_ZZ1fvEN3$_58__invokeEii"
 // CHECK: store i32
 // CHECK-NEXT: store i32