[PATCH] Emit diagnostic for -munaligned-access on v6m
Jonathan Roelofs
jonathan at codesourcery.com
Mon Oct 6 09:43:56 PDT 2014
Charlie,
- if (getToolChain().getTriple().getSubArch() ==
- llvm::Triple::SubArchType::ARMSubArch_v6m)
+ if (arm::getLLVMArchSuffixForARM(CPUName) == StringRef("v6m"))
I'm surprised that the SubArchType isn't being set correctly from the
combination of `-target thumb-none-linux-eabi -mcpu=cortex-m0`. I think the
"right" fix is to track down why that's happening and fix it there instead,
rather than regressing the subarch triple stuff back toward a stryingly-typed mess.
Cheers,
Jon
On 10/6/14 10:27 AM, Charlie Turner wrote:
> Hi,
>
> The following command correctly produces a diagnostic that specifying
> -munaligned-access for a v6M core is an error,
>
> clang -c -target thumbv6m-none-linux-eabi -mcpu=cortex-m0 -munaligned-access
> empty.c
>
> But the next command does not,
>
> clang -c -target thumb-none-linux-eabi -mcpu=cortex-m0 -munaligned-access
> empty.c
>
> In the second command, "thumv6m" has been replaced with "thumb".
>
> This patch causes the second command to issue the same diagnostic as the
> first.
>
> Please find the patch attached.
>
> Thanks,
> Charlie.
>
>
>
> _______________________________________________
> cfe-commits mailing list
> cfe-commits at cs.uiuc.edu
> http://lists.cs.uiuc.edu/mailman/listinfo/cfe-commits
>
--
Jon Roelofs
jonathan at codesourcery.com
CodeSourcery / Mentor Embedded
More information about the cfe-commits
mailing list