aboutsummaryrefslogtreecommitdiff
path: root/clang/lib/Frontend/CompilerInvocation.cpp
diff options
context:
space:
mode:
authorJan Svoboda <jan_svoboda@apple.com>2021-01-26 08:52:31 +0100
committerJan Svoboda <jan_svoboda@apple.com>2021-01-26 09:05:43 +0100
commit2154cffdc2a6fc9bc7fc75064dc875fa9bf18190 (patch)
tree15714a0e22d6dfd8cffdfdedce23380a2391f554 /clang/lib/Frontend/CompilerInvocation.cpp
parente72b22a40b09f533cbcf2517800692ce0fddff7e (diff)
downloadllvm-2154cffdc2a6fc9bc7fc75064dc875fa9bf18190.zip
llvm-2154cffdc2a6fc9bc7fc75064dc875fa9bf18190.tar.gz
llvm-2154cffdc2a6fc9bc7fc75064dc875fa9bf18190.tar.bz2
[clang][cli] Store LangStandard::Kind in LangOptions
The `LangStandard::Kind` parsed from command line arguments is used to set up some `LangOption` defaults, but isn't stored anywhere. To be able to generate `-std=` (in future patch), we need `CompilerInvocation` to not forget it. This patch demonstrates another use-case: using `LangStd` to set up defaults of marshalled options. Reviewed By: dexonsmith Differential Revision: https://reviews.llvm.org/D95342
Diffstat (limited to 'clang/lib/Frontend/CompilerInvocation.cpp')
-rw-r--r--clang/lib/Frontend/CompilerInvocation.cpp4
1 files changed, 1 insertions, 3 deletions
diff --git a/clang/lib/Frontend/CompilerInvocation.cpp b/clang/lib/Frontend/CompilerInvocation.cpp
index 3656410..84269b3 100644
--- a/clang/lib/Frontend/CompilerInvocation.cpp
+++ b/clang/lib/Frontend/CompilerInvocation.cpp
@@ -1971,6 +1971,7 @@ void CompilerInvocation::setLangDefaults(LangOptions &Opts, InputKind IK,
}
const LangStandard &Std = LangStandard::getLangStandardForKind(LangStd);
+ Opts.LangStd = LangStd;
Opts.LineComment = Std.hasLineComments();
Opts.C99 = Std.isC99();
Opts.C11 = Std.isC11();
@@ -1982,7 +1983,6 @@ void CompilerInvocation::setLangDefaults(LangOptions &Opts, InputKind IK,
Opts.CPlusPlus17 = Std.isCPlusPlus17();
Opts.CPlusPlus20 = Std.isCPlusPlus20();
Opts.CPlusPlus2b = Std.isCPlusPlus2b();
- Opts.Digraphs = Std.hasDigraphs();
Opts.GNUMode = Std.isGNUMode();
Opts.GNUInline = !Opts.C99 && !Opts.CPlusPlus;
Opts.GNUCVersion = 0;
@@ -2262,8 +2262,6 @@ void CompilerInvocation::ParseLangArgs(LangOptions &Opts, ArgList &Args,
Opts.GNUKeywords = Args.hasFlag(OPT_fgnu_keywords, OPT_fno_gnu_keywords,
Opts.GNUKeywords);
- Opts.Digraphs = Args.hasFlag(OPT_fdigraphs, OPT_fno_digraphs, Opts.Digraphs);
-
if (Args.hasArg(OPT_fno_operator_names))
Opts.CXXOperatorNames = 0;