This is the mail archive of the
gdb-patches@sourceware.org
mailing list for the GDB project.
Re: [PATCH 0/6] [C++] Drop -fpermissive hack, enable -Werror
- From: Pedro Alves <palves at redhat dot com>
- To: Yao Qi <qiyaoltc at gmail dot com>
- Cc: gdb-patches at sourceware dot org, Simon Marchi <simon dot marchi at ericsson dot com>
- Date: Thu, 19 Nov 2015 15:14:12 +0000
- Subject: Re: [PATCH 0/6] [C++] Drop -fpermissive hack, enable -Werror
- Authentication-results: sourceware.org; auth=none
- References: <1447864802-24016-1-git-send-email-palves at redhat dot com> <564CB8EC dot 5000203 at gmail dot com> <564CBB15 dot 7020209 at redhat dot com> <867fle1b5z dot fsf at gmail dot com>
On 11/19/2015 11:27 AM, Yao Qi wrote:
> Pedro Alves <palves@redhat.com> writes:
>
>> I was planning on committing it as soon as I got positive
>> reviews, which seems like I have now. :-) Do you see a reason to
>> hold it for now?
>
> No, I don't. Looks we still need --enable-build-with-cxx to turn C++
> mode on.
Yeah, my plan here was to "lock" (*) ports to C++ mode one by one, as soon
as they build in C++ mode. Actually, I think a negative/reverse list is even
better. This allows keeping track of ports/hosts people really still care
about, and, gives us an easy defined stopping point (when the list is clear).
What would you think of this approach?
I should probably move this to a separate thread, push this to a branch on
sourceware.org (to collect a better initial set of still-needs-conversion-work
hosts, with community help) and announce the intent on the gdb@ list, for
wider visibility/discussion.
(*) - For "locked" ports, one can still force C mode meanwhile
with --enable-build-with-cxx=no, until all ports are converted and we
decide to drop C mode.
---
>From b60a477edf5b58a950a9ddf2d1520f95874a1089 Mon Sep 17 00:00:00 2001
From: Pedro Alves <palves@redhat.com>
Date: Thu, 19 Nov 2015 14:40:04 +0000
Subject: [PATCH] Default to building in C++ mode
... except on hosts/targets that haven't been converted yet.
gdb/ChangeLog:
2015-11-19 Pedro Alves <palves@redhat.com>
* build-with-cxx.m4 (GDB_AC_BUILD_WITH_CXX): Default to yes unless
building on some hosts.
* configure: Renegerate.
gdb/gdbserver/ChangeLog:
2015-11-19 Pedro Alves <palves@redhat.com>
* configure: Renegerate.
---
gdb/build-with-cxx.m4 | 18 ++++++++++++++++--
gdb/configure | 17 +++++++++++++++--
gdb/gdbserver/configure | 17 +++++++++++++++--
3 files changed, 46 insertions(+), 6 deletions(-)
diff --git a/gdb/build-with-cxx.m4 b/gdb/build-with-cxx.m4
index b6284fd..03ff54d 100644
--- a/gdb/build-with-cxx.m4
+++ b/gdb/build-with-cxx.m4
@@ -21,6 +21,21 @@ dnl allowing a user to build with a C++ compiler.
AC_DEFUN([GDB_AC_BUILD_WITH_CXX],
[
+ # The "doesn't support C++ yet" hall of shame.
+ case $host in
+ *-*aix* | \
+ *-*go32* | \
+ *-*darwin* | \
+ *-*solaris* | \
+ *-*nto* | \
+ *-*bsd* | \
+ xtensa*-*-linux* | \
+ null)
+ enable_build_with_cxx=no ;;
+ *)
+ enable_build_with_cxx=yes ;;
+ esac
+
AC_ARG_ENABLE(build-with-cxx,
AS_HELP_STRING([--enable-build-with-cxx], [build with C++ compiler instead of C compiler]),
[case $enableval in
@@ -28,8 +43,7 @@ AC_DEFUN([GDB_AC_BUILD_WITH_CXX],
;;
*)
AC_MSG_ERROR([bad value $enableval for --enable-build-with-cxx]) ;;
- esac],
- [enable_build_with_cxx=no])
+ esac])
if test "$enable_build_with_cxx" = "yes"; then
COMPILER='$(CXX)'
diff --git a/gdb/configure b/gdb/configure
index 249a399..fce2154 100755
--- a/gdb/configure
+++ b/gdb/configure
@@ -5001,6 +5001,21 @@ program_transform_name=`$as_echo "$program_transform_name" | sed "$ac_script"`
# See if we are building with C++, and substitute COMPILER.
+ # The "doesn't support C++ yet" hall of shame.
+ case $host in
+ *-*aix* | \
+ *-*go32* | \
+ *-*darwin* | \
+ *-*solaris* | \
+ *-*nto* | \
+ *-*bsd* | \
+ xtensa*-*-linux* | \
+ null)
+ enable_build_with_cxx=no ;;
+ *)
+ enable_build_with_cxx=yes ;;
+ esac
+
# Check whether --enable-build-with-cxx was given.
if test "${enable_build_with_cxx+set}" = set; then :
enableval=$enable_build_with_cxx; case $enableval in
@@ -5009,8 +5024,6 @@ if test "${enable_build_with_cxx+set}" = set; then :
*)
as_fn_error "bad value $enableval for --enable-build-with-cxx" "$LINENO" 5 ;;
esac
-else
- enable_build_with_cxx=no
fi
diff --git a/gdb/gdbserver/configure b/gdb/gdbserver/configure
index 87dfda0..9b2018c 100755
--- a/gdb/gdbserver/configure
+++ b/gdb/gdbserver/configure
@@ -4813,6 +4813,21 @@ fi
# See if we are building with C++, and substitute COMPILER.
+ # The "doesn't support C++ yet" hall of shame.
+ case $host in
+ *-*aix* | \
+ *-*go32* | \
+ *-*darwin* | \
+ *-*solaris* | \
+ *-*nto* | \
+ *-*bsd* | \
+ xtensa*-*-linux* | \
+ null)
+ enable_build_with_cxx=no ;;
+ *)
+ enable_build_with_cxx=yes ;;
+ esac
+
# Check whether --enable-build-with-cxx was given.
if test "${enable_build_with_cxx+set}" = set; then :
enableval=$enable_build_with_cxx; case $enableval in
@@ -4821,8 +4836,6 @@ if test "${enable_build_with_cxx+set}" = set; then :
*)
as_fn_error "bad value $enableval for --enable-build-with-cxx" "$LINENO" 5 ;;
esac
-else
- enable_build_with_cxx=no
fi
--
1.9.3