diff --git a/lib/Sema/SemaDecl.cpp b/lib/Sema/SemaDecl.cpp
index 702d382..60b6760 100644
--- a/lib/Sema/SemaDecl.cpp
+++ b/lib/Sema/SemaDecl.cpp
@@ -7203,15 +7203,12 @@
       // In C++98, this is a GNU extension. In C++11, it is not, but we support
       // it anyway and provide a fixit to add the 'constexpr'.
       if (getLangOpts().CPlusPlus11) {
-        SemaDiagnosticBuilder D = Diag(VDecl->getLocation(),
-             diag::ext_in_class_initializer_float_type_cxx11);
-        D << DclT << Init->getSourceRange();
-        if (Diags.getDiagnosticLevel(diag::warn_initializer_out_of_order,
-                                     VDecl->getLocation()) >=
-            DiagnosticsEngine::Error) {
-          D << FixItHint::CreateInsertion(VDecl->getLocStart(), "constexpr ");
-          VDecl->setConstexpr(true);
-        }
+        Diag(VDecl->getLocation(),
+             diag::ext_in_class_initializer_float_type_cxx11)
+            << DclT << Init->getSourceRange();
+        Diag(VDecl->getLocStart(),
+             diag::note_in_class_initializer_float_type_cxx11)
+            << FixItHint::CreateInsertion(VDecl->getLocStart(), "constexpr ");
       } else {
         Diag(VDecl->getLocation(), diag::ext_in_class_initializer_float_type)
           << DclT << Init->getSourceRange();
