Fix a bug where we would not mark temporaries as conditional when emitting a conditional operator as an lvalue.

git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@95311 91177308-0d34-0410-b5e6-96231b3b80d8
diff --git a/test/CodeGenCXX/conditional-temporaries.cpp b/test/CodeGenCXX/conditional-temporaries.cpp
index 66fd803..b8ea512 100644
--- a/test/CodeGenCXX/conditional-temporaries.cpp
+++ b/test/CodeGenCXX/conditional-temporaries.cpp
@@ -9,14 +9,20 @@
   A() : i(0) { ctorcalls++; }
   ~A() { dtorcalls++; }
   int i;
+  
+  friend const A& operator<<(const A& a, int n) {
+    return a;
+  }
 };
 
 void g(int) { }
+void g(const A&) { }
 
 void f1(bool b) {
   g(b ? A().i : 0);
   g(b || A().i);
   g(b && A().i);
+  g(b ? A() << 1 : A() << 2);
 }
 
 struct Checker {