diff options
author | Martin Storsjo <martin@martin.st> | 2019-02-07 12:46:49 +0000 |
---|---|---|
committer | Martin Storsjo <martin@martin.st> | 2019-02-07 12:46:49 +0000 |
commit | bb3b372aa118ff010fd044d0431ceda984475b10 (patch) | |
tree | 6f99c90c2b6167d326e14c6cdc156ca337ff0339 /clang/lib/Driver/ToolChains/MSVC.cpp | |
parent | fddaf1f369a12925456508eb9157691abe65d8ab (diff) | |
download | bcm5719-llvm-bb3b372aa118ff010fd044d0431ceda984475b10.tar.gz bcm5719-llvm-bb3b372aa118ff010fd044d0431ceda984475b10.zip |
[clang-cl] support /Oy- on aarch64
MSVC supports /Oy- on aarch64, so clang-cl should too.
Patch by Nathan Froyd!
Differential Revision: https://reviews.llvm.org/D57838
llvm-svn: 353402
Diffstat (limited to 'clang/lib/Driver/ToolChains/MSVC.cpp')
-rw-r--r-- | clang/lib/Driver/ToolChains/MSVC.cpp | 8 |
1 files changed, 4 insertions, 4 deletions
diff --git a/clang/lib/Driver/ToolChains/MSVC.cpp b/clang/lib/Driver/ToolChains/MSVC.cpp index 8909cd01dcc..139e8543c6a 100644 --- a/clang/lib/Driver/ToolChains/MSVC.cpp +++ b/clang/lib/Driver/ToolChains/MSVC.cpp @@ -1407,10 +1407,10 @@ static void TranslateOptArg(Arg *A, llvm::opt::DerivedArgList &DAL, DAL.AddFlagArg( A, Opts.getOption(options::OPT_fno_omit_frame_pointer)); } else { - // Don't warn about /Oy- in 64-bit builds (where + // Don't warn about /Oy- in x86-64 builds (where // SupportsForcingFramePointer is false). The flag having no effect // there is a compiler-internal optimization, and people shouldn't have - // to special-case their build files for 64-bit clang-cl. + // to special-case their build files for x86-64 clang-cl. A->claim(); } break; @@ -1441,8 +1441,8 @@ MSVCToolChain::TranslateArgs(const llvm::opt::DerivedArgList &Args, DerivedArgList *DAL = new DerivedArgList(Args.getBaseArgs()); const OptTable &Opts = getDriver().getOpts(); - // /Oy and /Oy- only has an effect under X86-32. - bool SupportsForcingFramePointer = getArch() == llvm::Triple::x86; + // /Oy and /Oy- don't have an effect on X86-64 + bool SupportsForcingFramePointer = getArch() != llvm::Triple::x86_64; // The -O[12xd] flag actually expands to several flags. We must desugar the // flags so that options embedded can be negated. For example, the '-O2' flag |