Source location information for ? and : in a ConditionalOperator, from Enea Zaffanella

git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@80097 91177308-0d34-0410-b5e6-96231b3b80d8
diff --git a/lib/Sema/TreeTransform.h b/lib/Sema/TreeTransform.h
index 5d34e07..77d5220 100644
--- a/lib/Sema/TreeTransform.h
+++ b/lib/Sema/TreeTransform.h
@@ -3023,13 +3023,10 @@
       RHS.get() == E->getRHS())
     return SemaRef.Owned(E->Retain());
   
-  // FIXM: ? and : locations are broken.
-  SourceLocation FakeQuestionLoc = E->getCond()->getLocEnd();
-  SourceLocation FakeColonLoc = E->getFalseExpr()->getLocStart();
   return getDerived().RebuildConditionalOperator(move(Cond), 
-                                                 FakeQuestionLoc,
+                                                 E->getQuestionLoc(),
                                                  move(LHS), 
-                                                 FakeColonLoc,
+                                                 E->getColonLoc(),
                                                  move(RHS));
 }