aboutsummaryrefslogtreecommitdiff
path: root/clang/lib/Frontend/CompilerInvocation.cpp
diff options
context:
space:
mode:
authorFangrui Song <maskray@google.com>2020-02-21 22:41:34 -0800
committerFangrui Song <maskray@google.com>2020-02-21 23:10:50 -0800
commitfc6057e34fb3b1cfbbfcd5d71ae25ba24eb3ffa3 (patch)
treec82508097c77eb713d91c6848020bf8aed50779e /clang/lib/Frontend/CompilerInvocation.cpp
parent0123744d46a1fd6041755b403633af2d6c47f64a (diff)
downloadllvm-fc6057e34fb3b1cfbbfcd5d71ae25ba24eb3ffa3.zip
llvm-fc6057e34fb3b1cfbbfcd5d71ae25ba24eb3ffa3.tar.gz
llvm-fc6057e34fb3b1cfbbfcd5d71ae25ba24eb3ffa3.tar.bz2
[Frontend] Replace CC1 option -mcode-model with -mcmodel=
Before: % clang -mcmodel=x -xc /dev/null error: invalid argument 'x' in '-mcode-model x' Now: % clang -mcmodel=x -xc /dev/null clang-11: error: invalid argument 'x' to -mcmodel=
Diffstat (limited to 'clang/lib/Frontend/CompilerInvocation.cpp')
-rw-r--r--clang/lib/Frontend/CompilerInvocation.cpp13
1 files changed, 1 insertions, 12 deletions
diff --git a/clang/lib/Frontend/CompilerInvocation.cpp b/clang/lib/Frontend/CompilerInvocation.cpp
index ecbdf03..9cc41c9 100644
--- a/clang/lib/Frontend/CompilerInvocation.cpp
+++ b/clang/lib/Frontend/CompilerInvocation.cpp
@@ -527,17 +527,6 @@ static void ParseCommentArgs(CommentOptions &Opts, ArgList &Args) {
Opts.ParseAllComments = Args.hasArg(OPT_fparse_all_comments);
}
-static StringRef getCodeModel(ArgList &Args, DiagnosticsEngine &Diags) {
- if (Arg *A = Args.getLastArg(OPT_mcode_model)) {
- StringRef Value = A->getValue();
- if (Value == "small" || Value == "kernel" || Value == "medium" ||
- Value == "large" || Value == "tiny")
- return Value;
- Diags.Report(diag::err_drv_invalid_value) << A->getAsString(Args) << Value;
- }
- return "default";
-}
-
static llvm::Reloc::Model getRelocModel(ArgList &Args,
DiagnosticsEngine &Diags) {
if (Arg *A = Args.getLastArg(OPT_mrelocation_model)) {
@@ -3496,7 +3485,7 @@ static void ParsePreprocessorOutputArgs(PreprocessorOutputOptions &Opts,
static void ParseTargetArgs(TargetOptions &Opts, ArgList &Args,
DiagnosticsEngine &Diags) {
- Opts.CodeModel = std::string(getCodeModel(Args, Diags));
+ Opts.CodeModel = std::string(Args.getLastArgValue(OPT_mcmodel_EQ, "default"));
Opts.ABI = std::string(Args.getLastArgValue(OPT_target_abi));
if (Arg *A = Args.getLastArg(OPT_meabi)) {
StringRef Value = A->getValue();