aboutsummaryrefslogtreecommitdiffstats
path: root/cc/arm_device.go
diff options
context:
space:
mode:
authorDan Willemsen <dwillemsen@google.com>2015-11-03 14:27:00 -0800
committerDan Willemsen <dwillemsen@google.com>2015-11-03 14:30:12 -0800
commit6d11dd87c02fe078dd23832ac9aee61781683184 (patch)
tree1bcdbeb9013c7f0a7ecaac1a1f54f48e36bf602d /cc/arm_device.go
parent6d27f3428e1e452b935e55f576e37bafb80de4ab (diff)
downloadbuild_soong-6d11dd87c02fe078dd23832ac9aee61781683184.tar.gz
build_soong-6d11dd87c02fe078dd23832ac9aee61781683184.tar.bz2
build_soong-6d11dd87c02fe078dd23832ac9aee61781683184.zip
cc: Filter out unknown clang cflags from InstructionSetFlags
-funswitch-loops is in the arm instruction set flags, but unsupported by clang. Make removes clang unknown cflags from the instruction set flags. This was producing a warning, causing -Werror to fail on libm. Change-Id: Ibc69c9af04a738aa8adeb5549900e2b53ab754f0
Diffstat (limited to 'cc/arm_device.go')
-rw-r--r--cc/arm_device.go15
1 files changed, 15 insertions, 0 deletions
diff --git a/cc/arm_device.go b/cc/arm_device.go
index ce8a1cb8..8f3485e3 100644
--- a/cc/arm_device.go
+++ b/cc/arm_device.go
@@ -172,6 +172,10 @@ func init() {
pctx.StaticVariable("armClangLdflags", strings.Join(clangFilterUnknownCflags(armLdflags), " "))
pctx.StaticVariable("armClangCppflags", strings.Join(clangFilterUnknownCflags(armCppflags), " "))
+ // Clang ARM vs. Thumb instruction set cflags
+ pctx.StaticVariable("armClangArmCflags", strings.Join(clangFilterUnknownCflags(armArmCflags), " "))
+ pctx.StaticVariable("armClangThumbCflags", strings.Join(clangFilterUnknownCflags(armThumbCflags), " "))
+
// Clang cpu variant cflags
pctx.StaticVariable("armClangArmv5TECflags",
strings.Join(armClangArchVariantCflags["armv5te"], " "))
@@ -291,6 +295,17 @@ func (t *toolchainArm) ClangLdflags() string {
return t.ldflags
}
+func (t *toolchainArm) ClangInstructionSetFlags(isa string) (string, error) {
+ switch isa {
+ case "arm":
+ return "${armClangArmCflags}", nil
+ case "thumb", "":
+ return "${armClangThumbCflags}", nil
+ default:
+ return t.toolchainBase.ClangInstructionSetFlags(isa)
+ }
+}
+
func armToolchainFactory(archVariant string, cpuVariant string) Toolchain {
var fixCortexA8 string
switch cpuVariant {