llvm-project/clang/lib/Driver
Bob Wilson 0874e538aa Fix up handling of ARM options for controlling strict alignment.
The -mstrict-align option was originally added in r167619 as a target-
independent option. It was then changed in r167623 to be implemented with an
ARM-specific backend option, even though the code remained in the
target-independent Clang::ConstructJob function. This means that if you used
the -mstrict-align option with a non-ARM target, you would still get the
-arm-strict-align option getting passed to the backend, which was harmless
but gross. The driver option was then replaced by the GCC-compatible
-m[no-]unaligned-access option (r189175) and modified to work with AArch64
(r208075). However, in the process, the help text for -mstrict-align was
incorrectly changed to show it as only being supported for AArch64. Even worse,
the logic for handling these options together with -mkernel was wrong for
AArch64, where -mkernel does not currently imply strict alignment.

This patch fixes up all of those things. Besides the obvious change to the
option help text, it moves the logic into the ARM and AArch64-specific parts
of the driver, so that the option will be correctly ignored for non-ARM
targets. <rdar://problem/17823697>

llvm-svn: 214148
2014-07-29 00:23:18 +00:00
..
Action.cpp Move -verify-pch to use VerifyJobAction 2014-02-06 18:53:25 +00:00
CMakeLists.txt Decouple llvm::SpecialCaseList text representation and its LLVM IR semantics. 2014-07-09 19:40:08 +00:00
Compilation.cpp Remove unused sys/stat.h includes 2014-07-07 08:37:15 +00:00
Driver.cpp AArch64: update Clang for merged arm64/aarch64 triples. 2014-07-23 12:32:58 +00:00
DriverOptions.cpp Remove the SUPPORT_ALIASARGS define 2013-08-01 00:12:13 +00:00
InputInfo.h [Driver] Remove the using namespace directives from headers 2013-06-17 13:59:19 +00:00
Job.cpp Driver: Skip the -ivfsoverlay argument in driver crash diags 2014-06-22 20:35:10 +00:00
Makefile
Multilib.cpp [Driver] Range-based loop simplification. 2014-05-08 19:32:46 +00:00
Phases.cpp Sort all of Clang's files under 'lib', and fix up the broken headers 2012-12-04 09:13:33 +00:00
SanitizerArgs.cpp Decouple llvm::SpecialCaseList text representation and its LLVM IR semantics. 2014-07-09 19:40:08 +00:00
Tool.cpp
ToolChain.cpp Return a StringRef in getDefaultUniversalArchName. 2014-07-25 19:22:51 +00:00
ToolChains.cpp Now that PIC generation on PPC32 is supported, hook up linking support 2014-07-25 20:57:24 +00:00
ToolChains.h Add missing override keyword to OpenBSD IsIntegratedAssemblerDefault(). 2014-07-28 01:57:32 +00:00
Tools.cpp Fix up handling of ARM options for controlling strict alignment. 2014-07-29 00:23:18 +00:00
Tools.h [PowerPC] Support ELFv1/ELFv2 ABI selection via -mabi= option 2014-07-28 13:17:52 +00:00
Types.cpp Add a CC1 option -verify-pch 2014-02-05 22:21:15 +00:00
WindowsToolChain.cpp Win64: Disable uwtable until we fix .pdata emission in LLVM 2014-07-01 22:23:54 +00:00