From 5a43ba8a6245372a55871e69fdec31017aae8eab Mon Sep 17 00:00:00 2001 From: Fangrui Song Date: Wed, 24 Jul 2019 09:50:56 +0000 Subject: [PATCH] [Format] getFormattingLangOpts: make LS_Auto uses LS_Cpp11 lexing rule Suggested by sammccall in post-commit review of D65183 Reviewed By: sammccall Differential Revision: https://reviews.llvm.org/D65194 llvm-svn: 366883 --- clang/lib/Format/Format.cpp | 11 +++++++---- 1 file changed, 7 insertions(+), 4 deletions(-) diff --git a/clang/lib/Format/Format.cpp b/clang/lib/Format/Format.cpp index f3688aa7ee47..96f021102809 100644 --- a/clang/lib/Format/Format.cpp +++ b/clang/lib/Format/Format.cpp @@ -2365,11 +2365,14 @@ tooling::Replacements sortUsingDeclarations(const FormatStyle &Style, LangOptions getFormattingLangOpts(const FormatStyle &Style) { LangOptions LangOpts; + FormatStyle::LanguageStandard LexingStd = + Style.Standard == FormatStyle::LS_Auto ? FormatStyle::LS_Cpp11 + : Style.Standard; LangOpts.CPlusPlus = 1; - LangOpts.CPlusPlus11 = Style.Standard >= FormatStyle::LS_Cpp11; - LangOpts.CPlusPlus14 = Style.Standard >= FormatStyle::LS_Cpp11; - LangOpts.CPlusPlus17 = Style.Standard >= FormatStyle::LS_Cpp11; - LangOpts.CPlusPlus2a = Style.Standard >= FormatStyle::LS_Cpp11; + LangOpts.CPlusPlus11 = LexingStd >= FormatStyle::LS_Cpp11; + LangOpts.CPlusPlus14 = LexingStd >= FormatStyle::LS_Cpp11; + LangOpts.CPlusPlus17 = LexingStd >= FormatStyle::LS_Cpp11; + LangOpts.CPlusPlus2a = LexingStd >= FormatStyle::LS_Cpp11; LangOpts.LineComment = 1; bool AlternativeOperators = Style.isCpp(); LangOpts.CXXOperatorNames = AlternativeOperators ? 1 : 0;