aboutsummaryrefslogtreecommitdiffhomepage
diff options
context:
space:
mode:
authorGravatar Nicolas "Pixel" Noble <pixel@nobis-crew.org>2018-06-24 21:56:32 +0200
committerGravatar Nicolas "Pixel" Noble <pixel@nobis-crew.org>2018-06-24 21:56:32 +0200
commitb71da61dd16b73ff1f12056ad418f31900ae8f8f (patch)
tree84095ae34123da41909352e95a9005e8c6765b7d
parentc6ed823ef7f1b1b4254110aef5f0a30bf101fe4a (diff)
c++14-compat is c++ only.
-rw-r--r--Makefile15
-rw-r--r--build.yaml3
-rw-r--r--templates/Makefile.template8
-rw-r--r--test/build/no-c++14-compat.cc (renamed from test/build/no-c++14-compat.c)0
4 files changed, 17 insertions, 9 deletions
diff --git a/Makefile b/Makefile
index f4025011c1..76a8d7ec00 100644
--- a/Makefile
+++ b/Makefile
@@ -300,6 +300,12 @@ else
TMPOUT = `mktemp /tmp/test-out-XXXXXX`
endif
+CHECK_NO_CXX14_COMPAT_WORKS_CMD = $(CC) -std=c++11 -Werror -Wno-c++14-compat -o $(TMPOUT) -c test/build/no-c++14-compat.cc
+HAS_WORKING_NO_CXX14_COMPAT = $(shell $(CHECK_NO_CXX14_COMPAT_WORKS_CMD) 2> /dev/null && echo true || echo false)
+ifeq ($(HAS_WORKING_NO_CXX14_COMPAT),true)
+W_NO_CXX14_COMPAT=-Wno-c++14-compat
+endif
+
CHECK_SHADOW_WORKS_CMD = $(CC) -std=c99 -Werror -Wshadow -o $(TMPOUT) -c test/build/shadow.c
HAS_WORKING_SHADOW = $(shell $(CHECK_SHADOW_WORKS_CMD) 2> /dev/null && echo true || echo false)
ifeq ($(HAS_WORKING_SHADOW),true)
@@ -318,12 +324,6 @@ ifeq ($(HAS_WORKING_NO_SHIFT_NEGATIVE_VALUE),true)
W_NO_SHIFT_NEGATIVE_VALUE=-Wno-shift-negative-value
NO_W_NO_SHIFT_NEGATIVE_VALUE=-Wshift-negative-value
endif
-CHECK_NO_CXX14_COMPAT_WORKS_CMD = $(CC) -std=c99 -Werror -Wno-c++14-compat -o $(TMPOUT) -c test/build/no-c++14-compat.c
-HAS_WORKING_NO_CXX14_COMPAT = $(shell $(CHECK_NO_CXX14_COMPAT_WORKS_CMD) 2> /dev/null && echo true || echo false)
-ifeq ($(HAS_WORKING_NO_CXX14_COMPAT),true)
-W_NO_CXX14_COMPAT=-Wno-c++14-compat
-NO_W_NO_CXX14_COMPAT=-Wc++14-compat
-endif
CHECK_NO_UNUSED_BUT_SET_VARIABLE_WORKS_CMD = $(CC) -std=c99 -Werror -Wno-unused-but-set-variable -o $(TMPOUT) -c test/build/no-unused-but-set-variable.c
HAS_WORKING_NO_UNUSED_BUT_SET_VARIABLE = $(shell $(CHECK_NO_UNUSED_BUT_SET_VARIABLE_WORKS_CMD) 2> /dev/null && echo true || echo false)
ifeq ($(HAS_WORKING_NO_UNUSED_BUT_SET_VARIABLE),true)
@@ -3202,7 +3202,8 @@ PUBLIC_HEADERS_C += \
LIBCXXABI_OBJS = $(addprefix $(OBJDIR)/$(CONFIG)/, $(addsuffix .o, $(basename $(LIBCXXABI_SRC))))
-$(LIBCXXABI_OBJS): CPPFLAGS += -D_LIBCPP_DISABLE_EXTERN_TEMPLATE -D_LIBCXXABI_BUILDING_LIBRARY -D_LIBCXXABI_NO_EXCEPTIONS -Ithird_party/libcxxabi/include -nostdinc++ -Ithird_party/libcxx/include $(W_NO_UNUSED_BUT_SET_VARIABLE) $(W_NO_CXX14_COMPAT) -fvisibility=hidden
+$(LIBCXXABI_OBJS): CPPFLAGS += -D_LIBCPP_DISABLE_EXTERN_TEMPLATE -D_LIBCXXABI_BUILDING_LIBRARY -D_LIBCXXABI_NO_EXCEPTIONS -Ithird_party/libcxxabi/include -nostdinc++ -Ithird_party/libcxx/include $(W_NO_UNUSED_BUT_SET_VARIABLE) -fvisibility=hidden
+$(LIBCXXABI_OBJS): CXXFLAGS += $(W_NO_CXX14_COMPAT)
$(LIBDIR)/$(CONFIG)/libcxxabi.a: $(ZLIB_DEP) $(CARES_DEP) $(ADDRESS_SORTING_DEP) $(LIBCXXABI_OBJS)
$(E) "[AR] Creating $@"
diff --git a/build.yaml b/build.yaml
index 30722b4b87..1c6c98ff09 100644
--- a/build.yaml
+++ b/build.yaml
@@ -5637,7 +5637,8 @@ defaults:
cxxabi:
CPPFLAGS: -D_LIBCPP_DISABLE_EXTERN_TEMPLATE -D_LIBCXXABI_BUILDING_LIBRARY -D_LIBCXXABI_NO_EXCEPTIONS
-Ithird_party/libcxxabi/include -nostdinc++ -Ithird_party/libcxx/include $(W_NO_UNUSED_BUT_SET_VARIABLE)
- $(W_NO_CXX14_COMPAT) -fvisibility=hidden
+ -fvisibility=hidden
+ CXXFLAGS: $(W_NO_CXX14_COMPAT)
global:
COREFLAGS: -fno-rtti -fno-exceptions
CPPFLAGS: -g -Wall -Wextra -Werror -Wno-long-long -Wno-unused-parameter -DOSATOMIC_USE_INLINED=1
diff --git a/templates/Makefile.template b/templates/Makefile.template
index afab229fae..caf6c12646 100644
--- a/templates/Makefile.template
+++ b/templates/Makefile.template
@@ -37,7 +37,7 @@
# warnings we'd like, but that dont exist in all compilers
PREFERRED_WARNINGS=['shadow', 'extra-semi']
- CHECK_WARNINGS=PREFERRED_WARNINGS + ['no-shift-negative-value', 'no-c++14-compat', 'no-unused-but-set-variable']
+ CHECK_WARNINGS=PREFERRED_WARNINGS + ['no-shift-negative-value', 'no-unused-but-set-variable']
def warning_var(fmt, warning):
return fmt % warning.replace('-', '_').replace('+', 'X').upper()
@@ -191,6 +191,12 @@
TMPOUT = `mktemp /tmp/test-out-XXXXXX`
endif
+ CHECK_NO_CXX14_COMPAT_WORKS_CMD = $(CC) -std=c++11 -Werror -Wno-c++14-compat -o $(TMPOUT) -c test/build/no-c++14-compat.cc
+ HAS_WORKING_NO_CXX14_COMPAT = $(shell $(CHECK_NO_CXX14_COMPAT_WORKS_CMD) 2> /dev/null && echo true || echo false)
+ ifeq ($(HAS_WORKING_NO_CXX14_COMPAT),true)
+ W_NO_CXX14_COMPAT=-Wno-c++14-compat
+ endif
+
%for warning in CHECK_WARNINGS:
${warning_var('CHECK_%s_WORKS_CMD', warning)} = $(CC) -std=c99 -Werror -W${warning} -o $(TMPOUT) -c test/build/${warning}.c
${warning_var('HAS_WORKING_%s', warning)} = $(shell $(${warning_var('CHECK_%s_WORKS_CMD', warning)}) 2> /dev/null && echo true || echo false)
diff --git a/test/build/no-c++14-compat.c b/test/build/no-c++14-compat.cc
index 0c1771c7bb..0c1771c7bb 100644
--- a/test/build/no-c++14-compat.c
+++ b/test/build/no-c++14-compat.cc