about summary refs log tree commit diff
diff options
context:
space:
mode:
authorbors <bors@rust-lang.org>2014-05-23 22:06:23 -0700
committerbors <bors@rust-lang.org>2014-05-23 22:06:23 -0700
commit3bec8d724638da22c3d54f2357442cef88d10b1e (patch)
tree2301534c48e571c3cb19eefba2493a85f9218451
parent9c870b3d1c1dda2f00499ab906142c6976d421bd (diff)
parent69e246fdc924336f02bc9b156c76d1b1c553d786 (diff)
downloadrust-3bec8d724638da22c3d54f2357442cef88d10b1e.tar.gz
rust-3bec8d724638da22c3d54f2357442cef88d10b1e.zip
auto merge of #14384 : luqmana/rust/mca, r=alexcrichton
Only add `-Qunused-arguments` for clang.
-rw-r--r--mk/platform.mk22
1 files changed, 15 insertions, 7 deletions
diff --git a/mk/platform.mk b/mk/platform.mk
index ecc4c33d154..3ab55ce4b7b 100644
--- a/mk/platform.mk
+++ b/mk/platform.mk
@@ -97,13 +97,6 @@ endef
 $(foreach cvar,CC CXX CPP CFLAGS CXXFLAGS CPPFLAGS,\
   $(eval $(call SET_FROM_CFG,$(cvar))))
 
-ifeq ($(CFG_USING_CLANG),1)
-  # The -Qunused-arguments sidesteps spurious warnings from clang
-  CFLAGS += -Qunused-arguments
-  CXXFLAGS += -Qunused-arguments
-  CPPFLAGS += -Qunused-arguments
-endif
-
 CFG_RLIB_GLOB=lib$(1)-*.rlib
 
 # x86_64-unknown-linux-gnu configuration
@@ -516,6 +509,21 @@ CFG_LDPATH_x86_64-unknown-freebsd :=
 CFG_RUN_x86_64-unknown-freebsd=$(2)
 CFG_RUN_TARG_x86_64-unknown-freebsd=$(call CFG_RUN_x86_64-unknown-freebsd,,$(2))
 
+
+# The -Qunused-arguments sidesteps spurious warnings from clang
+define FILTER_FLAGS
+  ifeq ($$(CFG_USING_CLANG),1)
+    ifneq ($(findstring clang,$$(shell $(CC_$(1)) -v)),)
+      CFG_GCCISH_CFLAGS_$(1) += -Qunused-arguments
+      CFG_GCCISH_CXXFLAGS_$(1) += -Qunused-arguments
+    endif
+  endif
+endef
+
+$(foreach target,$(CFG_TARGET),\
+  $(eval $(call FILTER_FLAGS,$(target))))
+
+
 ifeq ($(CFG_CCACHE_CPP2),1)
   CCACHE_CPP2=1
   export CCACHE_CPP