[PATCH] Remove libsupc++ makefile targets setting -std=gnu++11 or -std=gnu++14
Jonathan Wakely
jwakely@redhat.com
Fri Jun 2 11:49:00 GMT 2017
Jakub pointed out that the libsupc++/Makefile has targets with
explicit -std=gnu++11 options, which date from before the default
changed to -std=gnu++14. We no longer need to override the default to
be able to compile the C++11 components. This removes those makefile
targets, as well using pragmas in the sources to avoid
-Wsized-deallocation warnings in the relevant files).
All the files using the default options that used to compile as
-std=gnu++98 or -std=gnu++11 are fine to be compiled as -std=gnu++14
using the default setting.
* libsupc++/Makefile.am: Remove custom targets for files that need to
be compiled as C++11 or C++14.
* libsupc++/Makefile.in: Regenerate.
* libsupc++/del_ops.cc: Use pragma to disable -Wsized-deallocation
warnings.
* libsupc++/del_opvs.cc: Likewise.
Tested powerpc64le-linux, committed to trunk.
-------------- next part --------------
commit 279bf8f19f7e3a50dfcc4b2958f6748c46833a91
Author: Jonathan Wakely <jwakely@redhat.com>
Date: Fri Jun 2 10:57:28 2017 +0100
Remove libsupc++ makefile targets setting -std=gnu++11 or -std=gnu++14
* libsupc++/Makefile.am: Remove custom targets for files that need to
be compiled as C++11 or C++14.
* libsupc++/Makefile.in: Regenerate.
* libsupc++/del_ops.cc: Use pragma to disable -Wsized-deallocation
warnings.
* libsupc++/del_opvs.cc: Likewise.
diff --git a/libstdc++-v3/libsupc++/Makefile.am b/libstdc++-v3/libsupc++/Makefile.am
index 1b36187..c7fdff1 100644
--- a/libstdc++-v3/libsupc++/Makefile.am
+++ b/libstdc++-v3/libsupc++/Makefile.am
@@ -128,77 +128,6 @@ cp-demangle.o: cp-demangle.c
$(C_COMPILE) -DIN_GLIBCPP_V3 -Wno-error -c $<
-# Use special rules for the C++11 sources so that the proper flags are passed.
-bad_array_length.lo: bad_array_length.cc
- $(LTCXXCOMPILE) -std=gnu++11 -c $<
-bad_array_length.o: bad_array_length.cc
- $(CXXCOMPILE) -std=gnu++11 -c $<
-
-bad_array_new.lo: bad_array_new.cc
- $(LTCXXCOMPILE) -std=gnu++11 -c $<
-bad_array_new.o: bad_array_new.cc
- $(CXXCOMPILE) -std=gnu++11 -c $<
-
-eh_aux_runtime.lo: eh_aux_runtime.cc
- $(LTCXXCOMPILE) -std=gnu++11 -c $<
-eh_aux_runtime.o: eh_aux_runtime.cc
- $(CXXCOMPILE) -std=gnu++11 -c $<
-
-eh_ptr.lo: eh_ptr.cc
- $(LTCXXCOMPILE) -std=gnu++11 -c $<
-eh_ptr.o: eh_ptr.cc
- $(CXXCOMPILE) -std=gnu++11 -c $<
-
-eh_terminate.lo: eh_terminate.cc
- $(LTCXXCOMPILE) -std=gnu++11 -c $<
-eh_terminate.o: eh_terminate.cc
- $(CXXCOMPILE) -std=gnu++11 -c $<
-
-eh_throw.lo: eh_throw.cc
- $(LTCXXCOMPILE) -std=gnu++11 -c $<
-eh_throw.o: eh_throw.cc
- $(CXXCOMPILE) -std=gnu++11 -c $<
-
-guard.lo: guard.cc
- $(LTCXXCOMPILE) -std=gnu++11 -c $<
-guard.o: guard.cc
- $(CXXCOMPILE) -std=gnu++11 -c $<
-
-atexit_thread.lo: atexit_thread.cc
- $(LTCXXCOMPILE) -std=gnu++11 -c $<
-atexit_thread.o: atexit_thread.cc
- $(CXXCOMPILE) -std=gnu++11 -c $<
-
-nested_exception.lo: nested_exception.cc
- $(LTCXXCOMPILE) -std=gnu++11 -c $<
-nested_exception.o: nested_exception.cc
- $(CXXCOMPILE) -std=gnu++11 -c $<
-
-new_handler.lo: new_handler.cc
- $(LTCXXCOMPILE) -std=gnu++11 -c $<
-new_handler.o: new_handler.cc
- $(CXXCOMPILE) -std=gnu++11 -c $<
-
-new_op.lo: new_op.cc
- $(LTCXXCOMPILE) -std=gnu++11 -c $<
-new_op.o: new_op.cc
- $(CXXCOMPILE) -std=gnu++11 -c $<
-
-new_opnt.lo: new_opnt.cc
- $(LTCXXCOMPILE) -std=gnu++11 -c $<
-new_opnt.o: new_opnt.cc
- $(CXXCOMPILE) -std=gnu++11 -c $<
-
-# Use special rules for the C++14 sources so that the proper flags are passed.
-del_ops.lo: del_ops.cc
- $(LTCXXCOMPILE) -std=gnu++14 -Wno-sized-deallocation -c $<
-del_ops.o: del_ops.cc
- $(CXXCOMPILE) -std=gnu++14 -Wno-sized-deallocation -c $<
-del_opvs.lo: del_opvs.cc
- $(LTCXXCOMPILE) -std=gnu++14 -Wno-sized-deallocation -c $<
-del_opvs.o: del_opvs.cc
- $(CXXCOMPILE) -std=gnu++14 -Wno-sized-deallocation -c $<
-
# Use special rules for the C++17 sources so that the proper flags are passed.
new_opa.lo: new_opa.cc
$(LTCXXCOMPILE) -std=gnu++1z -c $<
diff --git a/libstdc++-v3/libsupc++/del_ops.cc b/libstdc++-v3/libsupc++/del_ops.cc
index 5978eb9..8062724 100644
--- a/libstdc++-v3/libsupc++/del_ops.cc
+++ b/libstdc++-v3/libsupc++/del_ops.cc
@@ -23,6 +23,7 @@
// see the files COPYING3 and COPYING.RUNTIME respectively. If not, see
// <http://www.gnu.org/licenses/>.
+#pragma GCC diagnostic ignored "-Wsized-deallocation"
#include <bits/c++config.h>
#include "new"
diff --git a/libstdc++-v3/libsupc++/del_opvs.cc b/libstdc++-v3/libsupc++/del_opvs.cc
index a631157..78b1189 100644
--- a/libstdc++-v3/libsupc++/del_opvs.cc
+++ b/libstdc++-v3/libsupc++/del_opvs.cc
@@ -23,6 +23,7 @@
// see the files COPYING3 and COPYING.RUNTIME respectively. If not, see
// <http://www.gnu.org/licenses/>.
+#pragma GCC diagnostic ignored "-Wsized-deallocation"
#include <bits/c++config.h>
#include "new"
More information about the Libstdc++
mailing list