diff --git a/lib/AST/ExprConstant.cpp b/lib/AST/ExprConstant.cpp
index 2b94964..cc2b4e6 100644
--- a/lib/AST/ExprConstant.cpp
+++ b/lib/AST/ExprConstant.cpp
@@ -596,9 +596,6 @@
 }
 
 bool FloatExprEvaluator::VisitCallExpr(const CallExpr *E) {
-  const llvm::fltSemantics &Sem =
-    Info.Ctx.getFloatTypeSemantics(E->getType());
-  
   switch (E->isBuiltinCall()) {
   default: return false;
   case Builtin::BI__builtin_huge_val:
@@ -606,9 +603,12 @@
   case Builtin::BI__builtin_huge_vall:
   case Builtin::BI__builtin_inf:
   case Builtin::BI__builtin_inff:
-  case Builtin::BI__builtin_infl:
+  case Builtin::BI__builtin_infl: {
+    const llvm::fltSemantics &Sem =
+      Info.Ctx.getFloatTypeSemantics(E->getType());
     Result = llvm::APFloat::getInf(Sem);
     return true;
+  }
       
   case Builtin::BI__builtin_nan:
   case Builtin::BI__builtin_nanf:
@@ -618,6 +618,8 @@
     if (const StringLiteral *S = 
         dyn_cast<StringLiteral>(E->getArg(0)->IgnoreParenCasts())) {
       if (!S->isWide() && S->getByteLength() == 0) { // empty string.
+        const llvm::fltSemantics &Sem =
+          Info.Ctx.getFloatTypeSemantics(E->getType());
         Result = llvm::APFloat::getNaN(Sem);
         return true;
       }
