diff options
Diffstat (limited to 'clang/lib/Driver/Tools.cpp')
| -rw-r--r-- | clang/lib/Driver/Tools.cpp | 12 | 
1 files changed, 10 insertions, 2 deletions
| diff --git a/clang/lib/Driver/Tools.cpp b/clang/lib/Driver/Tools.cpp index 247d0d8cfa1..99d15f72b9f 100644 --- a/clang/lib/Driver/Tools.cpp +++ b/clang/lib/Driver/Tools.cpp @@ -3391,10 +3391,18 @@ void Clang::ConstructJob(Compilation &C, const JobAction &JA,                                   options::OPT_munaligned_access)) {        if (A->getOption().matches(options::OPT_mno_unaligned_access)) {          CmdArgs.push_back("-backend-option"); -        CmdArgs.push_back("-arm-strict-align"); +        if (getToolChain().getTriple().getArch() == llvm::Triple::arm64 || +            getToolChain().getTriple().getArch() == llvm::Triple::arm64_be) +          CmdArgs.push_back("-arm64-strict-align"); +        else +          CmdArgs.push_back("-arm-strict-align");        } else {          CmdArgs.push_back("-backend-option"); -        CmdArgs.push_back("-arm-no-strict-align"); +        if (getToolChain().getTriple().getArch() == llvm::Triple::arm64 || +            getToolChain().getTriple().getArch() == llvm::Triple::arm64_be) +          CmdArgs.push_back("-arm64-no-strict-align"); +        else +          CmdArgs.push_back("-arm-no-strict-align");        }      }    } | 

