diff options
| author | Oliver Stannard <oliver.stannard@arm.com> | 2014-08-13 09:18:12 +0000 |
|---|---|---|
| committer | Oliver Stannard <oliver.stannard@arm.com> | 2014-08-13 09:18:12 +0000 |
| commit | 76244be6d4f8cd953c5ebe869f5115dcc7ec4f7b (patch) | |
| tree | 055830bf22c499d911593c6377ac5c9bb467962f /clang/lib/Driver/Tools.cpp | |
| parent | 8edd497996038e058671dd22eae14deeaf3e7be2 (diff) | |
| download | bcm5719-llvm-76244be6d4f8cd953c5ebe869f5115dcc7ec4f7b.tar.gz bcm5719-llvm-76244be6d4f8cd953c5ebe869f5115dcc7ec4f7b.zip | |
Emit diagnostic for -munaligned-access on v6m targets
Rather than silently disabling unaligned accesses for v6m targets as
in the previous patch to llvm, instead produce a warning saying that
this architecture doesn't support unaligned accesses.
Patch by Ben Foster
llvm-svn: 215531
Diffstat (limited to 'clang/lib/Driver/Tools.cpp')
| -rw-r--r-- | clang/lib/Driver/Tools.cpp | 6 |
1 files changed, 5 insertions, 1 deletions
diff --git a/clang/lib/Driver/Tools.cpp b/clang/lib/Driver/Tools.cpp index 2a817f78638..21ffce24432 100644 --- a/clang/lib/Driver/Tools.cpp +++ b/clang/lib/Driver/Tools.cpp @@ -806,8 +806,12 @@ void Clang::AddARMTargetArgs(const ArgList &Args, CmdArgs.push_back("-backend-option"); if (A->getOption().matches(options::OPT_mno_unaligned_access)) CmdArgs.push_back("-arm-strict-align"); - else + else { + if (getToolChain().getTriple().getSubArch() == + llvm::Triple::SubArchType::ARMSubArch_v6m) + D.Diag(diag::err_target_unsupported_unaligned) << "v6m"; CmdArgs.push_back("-arm-no-strict-align"); + } } } |

