From patchwork Tue Jun 19 23:08:33 2012 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Diego Novillo X-Patchwork-Id: 165860 Return-Path: X-Original-To: incoming@patchwork.ozlabs.org Delivered-To: patchwork-incoming@bilbo.ozlabs.org Received: from sourceware.org (server1.sourceware.org [209.132.180.131]) by ozlabs.org (Postfix) with SMTP id 4479DB7020 for ; Wed, 20 Jun 2012 09:09:11 +1000 (EST) Comment: DKIM? See http://www.dkim.org DKIM-Signature: v=1; a=rsa-sha1; c=relaxed/relaxed; d=gcc.gnu.org; s=default; x=1340752152; h=Comment: DomainKey-Signature:Received:Received:Received:Received:Received: Received:Received:Received:Received:To:Subject:Message-Id:Date: From:Mailing-List:Precedence:List-Id:List-Unsubscribe: List-Archive:List-Post:List-Help:Sender:Delivered-To; bh=deKmtGj uzXKwuQF3KZYGMfX4X9M=; b=rjuW4WI1tdDfeZneUHST6thMNOOYuPDiDHMvx/M BMuQtm5fLlhOJEF/xpfzSIE9yPT/XgyKCVSkCHf8qLaKZ0WVGIEy3a0c/WrPi/S9 Ktc66ubW6I7WOqgtrK6g5y+MngGJltRVBdsnmYxla3FhuAI9yq0X7gbYFGgydps8 FWvg= Comment: DomainKeys? See http://antispam.yahoo.com/domainkeys DomainKey-Signature: a=rsa-sha1; q=dns; c=nofws; s=default; d=gcc.gnu.org; h=Received:Received:X-SWARE-Spam-Status:X-Spam-Check-By:Received:Received:X-Google-DKIM-Signature:Received:Received:Received:Received:Received:To:Subject:Message-Id:Date:From:X-Gm-Message-State:X-IsSubscribed:Mailing-List:Precedence:List-Id:List-Unsubscribe:List-Archive:List-Post:List-Help:Sender:Delivered-To; b=iD8/qqKqJLEUea9s0xnvphZiv+BeV2/QnuMFZwgJvnWvonrsymfHQVHTRnekal Algm0xQW6pypiq9tbxNGNwkgFQn+VlVAJz2afMN3AhzYSvkv5IER3PUhNY8G2oaU IoGnTWbfM1ySiqC8pTOzUb7ywDYA09utzl47Ehkoc3ehk=; Received: (qmail 7611 invoked by alias); 19 Jun 2012 23:09:07 -0000 Received: (qmail 7579 invoked by uid 22791); 19 Jun 2012 23:08:58 -0000 X-SWARE-Spam-Status: No, hits=-2.2 required=5.0 tests=AWL, BAYES_00, DKIM_SIGNED, DKIM_VALID, DKIM_VALID_AU, KHOP_RCVD_TRUST, RCVD_IN_DNSWL_LOW, RCVD_IN_HOSTKARMA_YE, TW_CX, TW_FM, TW_IB, T_RP_MATCHES_RCVD, URIBL_BLACK, WEIRD_QUOTING X-Spam-Check-By: sourceware.org Received: from mail-wi0-f201.google.com (HELO mail-wi0-f201.google.com) (209.85.212.201) by sourceware.org (qpsmtpd/0.43rc1) with ESMTP; Tue, 19 Jun 2012 23:08:37 +0000 Received: by wibhi5 with SMTP id hi5so210240wib.2 for ; Tue, 19 Jun 2012 16:08:35 -0700 (PDT) X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=google.com; s=20120113; h=to:subject:message-id:date:from:x-gm-message-state; bh=4PxjkFNdrpCeWrwHMEXw5KzE4wAPP7bp4MiPPuZuALA=; b=bit/24LvyprPr4EcLKTUlEA5hcJfZOBUauSkQleZeysIBnwuaaKxlNbZXIA+erqZ54 apEBdW2+ne4q8Pn49e1t9nH1qynizepH7kPL8pjqdNcsTjXKGt9CzZwy+IcKUGZtQPbN l2hvu7ocqikZLHxyysas13fpIpYdyt/s3eszIc93v8lV5KSSHCS6uHSfGHU7gzsg319G Z48Y0YQB1P66du9lnyo18IGyDcixCPhXNG3dCBqMGZwWky/riEKvailSdGLJl82FUjGm ZChQT9ueV3qUgyaUpG2g8QcEVNyBJ7DDsiirJcoqFq5hySQ3pdJqbLzStyrW9QBBPu8K AB4Q== Received: by 10.14.99.208 with SMTP id x56mr6312529eef.1.1340147315551; Tue, 19 Jun 2012 16:08:35 -0700 (PDT) Received: by 10.14.99.208 with SMTP id x56mr6312521eef.1.1340147315438; Tue, 19 Jun 2012 16:08:35 -0700 (PDT) Received: from hpza10.eem.corp.google.com ([74.125.121.33]) by gmr-mx.google.com with ESMTPS id b15si22179038een.0.2012.06.19.16.08.35 (version=TLSv1/SSLv3 cipher=AES128-SHA); Tue, 19 Jun 2012 16:08:35 -0700 (PDT) Received: from torture.tor.corp.google.com (torture.tor.corp.google.com [172.29.41.4]) by hpza10.eem.corp.google.com (Postfix) with ESMTP id 039DE20004E; Tue, 19 Jun 2012 16:08:35 -0700 (PDT) Received: by torture.tor.corp.google.com (Postfix, from userid 54752) id 16791102BAB; Tue, 19 Jun 2012 19:08:33 -0400 (EDT) To: reply@codereview.appspotmail.com, iant@google.com, gcc-patches@gcc.gnu.org Subject: [cxx-conversion] Remove option to build without a C++ compiler (issue6296093) Message-Id: <20120619230834.16791102BAB@torture.tor.corp.google.com> Date: Tue, 19 Jun 2012 19:08:33 -0400 (EDT) From: dnovillo@google.com (Diego Novillo) X-Gm-Message-State: ALoCoQnqHHt/9Y+fJWO/eUWllLZozppJ1eubq8o1rWeZgwsNmueKvuNtH5LSCKKpxn9mNq74aAo7Y3Y62Uy981/5DMHLBVzNGFuJs91l3ix54TIltDbqD+mQgiXOhmHTmpW0XNrdyWo9+PUNmMND2Yz9II+jJKY+UQ== X-IsSubscribed: yes Mailing-List: contact gcc-patches-help@gcc.gnu.org; run by ezmlm Precedence: bulk List-Id: List-Unsubscribe: List-Archive: List-Post: List-Help: Sender: gcc-patches-owner@gcc.gnu.org Delivered-To: mailing list gcc-patches@gcc.gnu.org Remove option to build without a C++ compiler. This patch removes all the configuration code that allowed GCC to build without a C++ compiler. After this patch the following configuration flags are no longer valid: --enable-build-with-cxx --enable-build-poststage1-with-cxx All builds will unconditionally use C++. Tested on x86_64. Ian, could you please take a look to double check I have not missed anything? There was more code dealing with it than I was expecting. I'm also not sure how to propagate the changes in go/gofrontend, but we don't need to worry about that until we do the acutal merge into trunk. Thanks. Diego. 2012-06-19 Diego Novillo ChangeLog.cxx-conversion * Makefile.tpl (STAGE[+id+]_CXXFLAGS): Remove POSTSTAGE1_CONFIGURE_FLAGS. * Makefile.in: Regenerate. * configure.ac (ENABLE_BUILD_WITH_CXX): Remove. Update all users. * configure: Regenerate. gcc/ChangeLog.cxx-conversion * Makefile.in: Remove all handlers of ENABLE_BUILD_WITH_CXX. * configure.ac: Likewise. * configure: Regenerate. * config.in: Regenerate. * doc/install.texi: Remove documentation for --enable-build-with-cxx and --enable-build-poststage1-with-cxx. gcc/go/ChangeLog.cxx-conversion * go-c.h: Remove all handlers of ENABLE_BUILD_WITH_CXX. * go-gcc.cc: Likewise. * go-system.h: Likewise. libcpp/ChangeLog.cxx-conversion * Makefile.in: Remove all handlers of ENABLE_BUILD_WITH_CXX. * configure.ac: Likewise. * configure: Regenerate. --- This patch is available for review at http://codereview.appspot.com/6296093 diff --git a/Makefile.in b/Makefile.in index def860e..d81fb97 100644 --- a/Makefile.in +++ b/Makefile.in @@ -422,7 +422,6 @@ TFLAGS = STAGE_CFLAGS = $(BOOT_CFLAGS) STAGE_TFLAGS = $(TFLAGS) STAGE_CONFIGURE_FLAGS=@stage2_werror_flag@ -POSTSTAGE1_CONFIGURE_FLAGS = @POSTSTAGE1_CONFIGURE_FLAGS@ # Defaults for stage 1; some are overridden below. @@ -433,10 +432,7 @@ STAGE1_CXXFLAGS = $(CXXFLAGS) STAGE1_CXXFLAGS = $(STAGE1_CFLAGS) @endif target-libstdc++-v3-bootstrap STAGE1_TFLAGS = $(STAGE_TFLAGS) -# STAGE1_CONFIGURE_FLAGS overridden below, so we can use -# POSTSTAGE1_CONFIGURE_FLAGS here. -STAGE1_CONFIGURE_FLAGS = \ - $(STAGE_CONFIGURE_FLAGS) $(POSTSTAGE1_CONFIGURE_FLAGS) +STAGE1_CONFIGURE_FLAGS = $(STAGE_CONFIGURE_FLAGS) # Defaults for stage 2; some are overridden below. STAGE2_CFLAGS = $(STAGE_CFLAGS) @@ -446,10 +442,7 @@ STAGE2_CXXFLAGS = $(CXXFLAGS) STAGE2_CXXFLAGS = $(STAGE2_CFLAGS) @endif target-libstdc++-v3-bootstrap STAGE2_TFLAGS = $(STAGE_TFLAGS) -# STAGE1_CONFIGURE_FLAGS overridden below, so we can use -# POSTSTAGE1_CONFIGURE_FLAGS here. -STAGE2_CONFIGURE_FLAGS = \ - $(STAGE_CONFIGURE_FLAGS) $(POSTSTAGE1_CONFIGURE_FLAGS) +STAGE2_CONFIGURE_FLAGS = $(STAGE_CONFIGURE_FLAGS) # Defaults for stage 3; some are overridden below. STAGE3_CFLAGS = $(STAGE_CFLAGS) @@ -459,10 +452,7 @@ STAGE3_CXXFLAGS = $(CXXFLAGS) STAGE3_CXXFLAGS = $(STAGE3_CFLAGS) @endif target-libstdc++-v3-bootstrap STAGE3_TFLAGS = $(STAGE_TFLAGS) -# STAGE1_CONFIGURE_FLAGS overridden below, so we can use -# POSTSTAGE1_CONFIGURE_FLAGS here. -STAGE3_CONFIGURE_FLAGS = \ - $(STAGE_CONFIGURE_FLAGS) $(POSTSTAGE1_CONFIGURE_FLAGS) +STAGE3_CONFIGURE_FLAGS = $(STAGE_CONFIGURE_FLAGS) # Defaults for stage 4; some are overridden below. STAGE4_CFLAGS = $(STAGE_CFLAGS) @@ -472,10 +462,7 @@ STAGE4_CXXFLAGS = $(CXXFLAGS) STAGE4_CXXFLAGS = $(STAGE4_CFLAGS) @endif target-libstdc++-v3-bootstrap STAGE4_TFLAGS = $(STAGE_TFLAGS) -# STAGE1_CONFIGURE_FLAGS overridden below, so we can use -# POSTSTAGE1_CONFIGURE_FLAGS here. -STAGE4_CONFIGURE_FLAGS = \ - $(STAGE_CONFIGURE_FLAGS) $(POSTSTAGE1_CONFIGURE_FLAGS) +STAGE4_CONFIGURE_FLAGS = $(STAGE_CONFIGURE_FLAGS) # Defaults for stage profile; some are overridden below. STAGEprofile_CFLAGS = $(STAGE_CFLAGS) @@ -485,10 +472,7 @@ STAGEprofile_CXXFLAGS = $(CXXFLAGS) STAGEprofile_CXXFLAGS = $(STAGEprofile_CFLAGS) @endif target-libstdc++-v3-bootstrap STAGEprofile_TFLAGS = $(STAGE_TFLAGS) -# STAGE1_CONFIGURE_FLAGS overridden below, so we can use -# POSTSTAGE1_CONFIGURE_FLAGS here. -STAGEprofile_CONFIGURE_FLAGS = \ - $(STAGE_CONFIGURE_FLAGS) $(POSTSTAGE1_CONFIGURE_FLAGS) +STAGEprofile_CONFIGURE_FLAGS = $(STAGE_CONFIGURE_FLAGS) # Defaults for stage feedback; some are overridden below. STAGEfeedback_CFLAGS = $(STAGE_CFLAGS) @@ -498,10 +482,7 @@ STAGEfeedback_CXXFLAGS = $(CXXFLAGS) STAGEfeedback_CXXFLAGS = $(STAGEfeedback_CFLAGS) @endif target-libstdc++-v3-bootstrap STAGEfeedback_TFLAGS = $(STAGE_TFLAGS) -# STAGE1_CONFIGURE_FLAGS overridden below, so we can use -# POSTSTAGE1_CONFIGURE_FLAGS here. -STAGEfeedback_CONFIGURE_FLAGS = \ - $(STAGE_CONFIGURE_FLAGS) $(POSTSTAGE1_CONFIGURE_FLAGS) +STAGEfeedback_CONFIGURE_FLAGS = $(STAGE_CONFIGURE_FLAGS) # Only build the C compiler for stage1, because that is the only one that @@ -519,9 +500,6 @@ STAGE1_LANGUAGES = @stage1_languages@ # the last argument when conflicting --enable arguments are passed. # * Likewise, we force-disable coverage flags, since the installed # compiler probably has never heard of them. -# * Don't remove this, because above we added -# POSTSTAGE1_CONFIGURE_FLAGS to STAGE_CONFIGURE_FLAGS, which -# we don't want for STAGE1_CONFIGURE_FLAGS. STAGE1_CONFIGURE_FLAGS = --disable-intermodule $(STAGE1_CHECKING) \ --disable-coverage --enable-languages="$(STAGE1_LANGUAGES)" diff --git a/Makefile.tpl b/Makefile.tpl index 371c3b6..2545d72 100644 --- a/Makefile.tpl +++ b/Makefile.tpl @@ -425,7 +425,6 @@ TFLAGS = STAGE_CFLAGS = $(BOOT_CFLAGS) STAGE_TFLAGS = $(TFLAGS) STAGE_CONFIGURE_FLAGS=@stage2_werror_flag@ -POSTSTAGE1_CONFIGURE_FLAGS = @POSTSTAGE1_CONFIGURE_FLAGS@ [+ FOR bootstrap-stage +] # Defaults for stage [+id+]; some are overridden below. @@ -436,10 +435,7 @@ STAGE[+id+]_CXXFLAGS = $(CXXFLAGS) STAGE[+id+]_CXXFLAGS = $(STAGE[+id+]_CFLAGS) @endif target-libstdc++-v3-bootstrap STAGE[+id+]_TFLAGS = $(STAGE_TFLAGS) -# STAGE1_CONFIGURE_FLAGS overridden below, so we can use -# POSTSTAGE1_CONFIGURE_FLAGS here. -STAGE[+id+]_CONFIGURE_FLAGS = \ - $(STAGE_CONFIGURE_FLAGS) $(POSTSTAGE1_CONFIGURE_FLAGS) +STAGE[+id+]_CONFIGURE_FLAGS = $(STAGE_CONFIGURE_FLAGS) [+ ENDFOR bootstrap-stage +] # Only build the C compiler for stage1, because that is the only one that @@ -457,9 +453,6 @@ STAGE1_LANGUAGES = @stage1_languages@ # the last argument when conflicting --enable arguments are passed. # * Likewise, we force-disable coverage flags, since the installed # compiler probably has never heard of them. -# * Don't remove this, because above we added -# POSTSTAGE1_CONFIGURE_FLAGS to STAGE[+id+]_CONFIGURE_FLAGS, which -# we don't want for STAGE1_CONFIGURE_FLAGS. STAGE1_CONFIGURE_FLAGS = --disable-intermodule $(STAGE1_CHECKING) \ --disable-coverage --enable-languages="$(STAGE1_LANGUAGES)" diff --git a/configure b/configure index 020cd90..079a206 100755 --- a/configure +++ b/configure @@ -556,7 +556,6 @@ enable_option_checking=no ac_subst_vars='LTLIBOBJS LIBOBJS compare_exclusions -POSTSTAGE1_CONFIGURE_FLAGS stage2_werror_flag stage1_checking stage1_cflags @@ -752,8 +751,6 @@ enable_libada enable_libssp enable_static_libjava enable_bootstrap -enable_build_with_cxx -enable_build_poststage1_with_cxx with_mpc with_mpc_include with_mpc_lib @@ -1471,9 +1468,6 @@ Optional Features: --enable-static-libjava[=ARG] build static libjava [default=no] --enable-bootstrap enable bootstrapping [yes if native build] - --enable-build-with-cxx build with C++ compiler instead of C compiler - --enable-build-poststage1-with-cxx - build stages 2 and 3 with C++, not C --disable-ppl-version-check disable check for PPL version --enable-cloog-backend[=BACKEND] @@ -5070,24 +5064,6 @@ $as_echo "$as_me: WARNING: trying to bootstrap a cross compiler" >&2;} ;; esac -# See if we are building gcc with C++. -# Check whether --enable-build-with-cxx was given. -if test "${enable_build_with_cxx+set}" = set; then : - enableval=$enable_build_with_cxx; ENABLE_BUILD_WITH_CXX=$enableval -else - ENABLE_BUILD_WITH_CXX=yes -fi - - -# Build stage1 with C and build stages 2 and 3 with C++. -# Check whether --enable-build-poststage1-with-cxx was given. -if test "${enable_build_poststage1_with_cxx+set}" = set; then : - enableval=$enable_build_poststage1_with_cxx; ENABLE_BUILD_POSTSTAGE1_WITH_CXX=$enableval -else - ENABLE_BUILD_POSTSTAGE1_WITH_CXX=yes -fi - - # Used for setting $lt_cv_objdir { $as_echo "$as_me:${as_lineno-$LINENO}: checking for objdir" >&5 $as_echo_n "checking for objdir... " >&6; } @@ -6161,7 +6137,7 @@ fi -# By default, C is the only stage 1 language. +# By default, C and C++ are the only stage 1 languages. stage1_languages=,c, # Target libraries that we bootstrap. @@ -6199,15 +6175,14 @@ if test -d ${srcdir}/gcc; then ;; esac - # If bootstrapping, then using --enable-build-with-cxx or - # --enable-build-poststage1-with-cxx requires enabling C++. - case ",$enable_languages,:,$ENABLE_BUILD_WITH_CXX,$ENABLE_BUILD_POSTSTAGE1_WITH_CXX,:$enable_bootstrap" in - *,c++,*:*:*) ;; - *:*,yes,*:yes) + # If bootstrapping, C++ must be enabled. + case ",$enable_languages,:$enable_bootstrap" in + *,c++,*:*) ;; + *:yes) if test -f ${srcdir}/gcc/cp/config-lang.in; then enable_languages="${enable_languages},c++" else - as_fn_error "bootstrapping with --enable-build-with-cxx or --enable-build-poststage1-with-cxx requires c++ sources" "$LINENO" 5 + as_fn_error "bootstrapping requires c++ sources" "$LINENO" 5 fi ;; esac @@ -6302,10 +6277,7 @@ if test -d ${srcdir}/gcc; then fi if test "$language" = "c++"; then - if test "$ENABLE_BUILD_WITH_CXX" = "yes" \ - || test "$ENABLE_BUILD_POSTSTAGE1_WITH_CXX" = "yes"; then - boot_language=yes - fi + boot_language=yes fi case ,${enable_languages}, in @@ -14393,43 +14365,6 @@ case $build in esac ;; esac -# This is aimed to mimic bootstrap with a non-GCC compiler to catch problems. -if test "$GCC" = yes -a "$ENABLE_BUILD_WITH_CXX" != yes; then - saved_CFLAGS="$CFLAGS" - - # Pass -fkeep-inline-functions for stage 1 if the GCC version supports it. - CFLAGS="$CFLAGS -fkeep-inline-functions" - { $as_echo "$as_me:${as_lineno-$LINENO}: checking whether -fkeep-inline-functions is supported" >&5 -$as_echo_n "checking whether -fkeep-inline-functions is supported... " >&6; } - cat confdefs.h - <<_ACEOF >conftest.$ac_ext -/* end confdefs.h. */ - -#if (__GNUC__ < 3) \ - || (__GNUC__ == 3 && (__GNUC_MINOR__ < 3 \ - || (__GNUC_MINOR__ == 3 && __GNUC_PATCHLEVEL__ < 1))) -#error http://gcc.gnu.org/PR29382 -#endif - -int -main () -{ - - ; - return 0; -} -_ACEOF -if ac_fn_c_try_compile "$LINENO"; then : - { $as_echo "$as_me:${as_lineno-$LINENO}: result: yes" >&5 -$as_echo "yes" >&6; }; stage1_cflags="$stage1_cflags -fkeep-inline-functions" -else - { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5 -$as_echo "no" >&6; } -fi -rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext - - CFLAGS="$saved_CFLAGS" -fi - # Enable --enable-checking in stage1 of the compiler. @@ -14464,15 +14399,6 @@ case ${enable_werror} in esac -# If using ENABLE_BUILD_POSTSTAGE1_WITH_CXX, pass -# --enable-build-with-cxx after stage1. -if test "$ENABLE_BUILD_POSTSTAGE1_WITH_CXX" = "yes"; then - POSTSTAGE1_CONFIGURE_FLAGS=--enable-build-with-cxx -else - POSTSTAGE1_CONFIGURE_FLAGS= -fi - - # Specify what files to not compare during bootstrap. compare_exclusions="gcc/cc*-checksum\$(objext) | gcc/ada/*tools/*" diff --git a/configure.ac b/configure.ac index 071b5e2..2a2a0c6 100644 --- a/configure.ac +++ b/configure.ac @@ -1203,20 +1203,6 @@ case "$have_compiler:$host:$target:$enable_bootstrap" in ;; esac -# See if we are building gcc with C++. -AC_ARG_ENABLE(build-with-cxx, -[AS_HELP_STRING([--enable-build-with-cxx], - [build with C++ compiler instead of C compiler])], -ENABLE_BUILD_WITH_CXX=$enableval, -ENABLE_BUILD_WITH_CXX=yes) - -# Build stage1 with C and build stages 2 and 3 with C++. -AC_ARG_ENABLE(build-poststage1-with-cxx, -[AS_HELP_STRING([--enable-build-poststage1-with-cxx], - [build stages 2 and 3 with C++, not C])], -ENABLE_BUILD_POSTSTAGE1_WITH_CXX=$enableval, -ENABLE_BUILD_POSTSTAGE1_WITH_CXX=yes) - # Used for setting $lt_cv_objdir _LT_CHECK_OBJDIR @@ -1667,7 +1653,7 @@ ACX_ELF_TARGET_IFELSE([# ELF platforms build the lto-plugin always. ]) -# By default, C is the only stage 1 language. +# By default, C and C++ are the only stage 1 languages. stage1_languages=,c, # Target libraries that we bootstrap. @@ -1705,15 +1691,14 @@ if test -d ${srcdir}/gcc; then ;; esac - # If bootstrapping, then using --enable-build-with-cxx or - # --enable-build-poststage1-with-cxx requires enabling C++. - case ",$enable_languages,:,$ENABLE_BUILD_WITH_CXX,$ENABLE_BUILD_POSTSTAGE1_WITH_CXX,:$enable_bootstrap" in - *,c++,*:*:*) ;; - *:*,yes,*:yes) + # If bootstrapping, C++ must be enabled. + case ",$enable_languages,:$enable_bootstrap" in + *,c++,*:*) ;; + *:yes) if test -f ${srcdir}/gcc/cp/config-lang.in; then enable_languages="${enable_languages},c++" else - AC_MSG_ERROR([bootstrapping with --enable-build-with-cxx or --enable-build-poststage1-with-cxx requires c++ sources]) + AC_MSG_ERROR([bootstrapping requires c++ sources]) fi ;; esac @@ -1808,10 +1793,7 @@ if test -d ${srcdir}/gcc; then fi if test "$language" = "c++"; then - if test "$ENABLE_BUILD_WITH_CXX" = "yes" \ - || test "$ENABLE_BUILD_POSTSTAGE1_WITH_CXX" = "yes"; then - boot_language=yes - fi + boot_language=yes fi case ,${enable_languages}, in @@ -3198,26 +3180,6 @@ case $build in esac ;; esac -# This is aimed to mimic bootstrap with a non-GCC compiler to catch problems. -if test "$GCC" = yes -a "$ENABLE_BUILD_WITH_CXX" != yes; then - saved_CFLAGS="$CFLAGS" - - # Pass -fkeep-inline-functions for stage 1 if the GCC version supports it. - CFLAGS="$CFLAGS -fkeep-inline-functions" - AC_MSG_CHECKING([whether -fkeep-inline-functions is supported]) - AC_TRY_COMPILE([ -#if (__GNUC__ < 3) \ - || (__GNUC__ == 3 && (__GNUC_MINOR__ < 3 \ - || (__GNUC_MINOR__ == 3 && __GNUC_PATCHLEVEL__ < 1))) -#error http://gcc.gnu.org/PR29382 -#endif - ],, - [AC_MSG_RESULT([yes]); stage1_cflags="$stage1_cflags -fkeep-inline-functions"], - [AC_MSG_RESULT([no])]) - - CFLAGS="$saved_CFLAGS" -fi - AC_SUBST(stage1_cflags) # Enable --enable-checking in stage1 of the compiler. @@ -3247,15 +3209,6 @@ case ${enable_werror} in esac AC_SUBST(stage2_werror_flag) -# If using ENABLE_BUILD_POSTSTAGE1_WITH_CXX, pass -# --enable-build-with-cxx after stage1. -if test "$ENABLE_BUILD_POSTSTAGE1_WITH_CXX" = "yes"; then - POSTSTAGE1_CONFIGURE_FLAGS=--enable-build-with-cxx -else - POSTSTAGE1_CONFIGURE_FLAGS= -fi -AC_SUBST(POSTSTAGE1_CONFIGURE_FLAGS) - # Specify what files to not compare during bootstrap. compare_exclusions="gcc/cc*-checksum\$(objext) | gcc/ada/*tools/*" diff --git a/gcc/Makefile.in b/gcc/Makefile.in index 8b3e083..9d26c32 100644 --- a/gcc/Makefile.in +++ b/gcc/Makefile.in @@ -223,13 +223,6 @@ RANLIB_FLAGS = @ranlib_flags@ HOST_LIBS = @HOST_LIBS@ # The name of the compiler to use. -ENABLE_BUILD_WITH_CXX = @ENABLE_BUILD_WITH_CXX@ -ifneq ($(ENABLE_BUILD_WITH_CXX),yes) -COMPILER = $(CC) -COMPILER_FLAGS = $(CFLAGS) -LINKER = $(CC) -LINKER_FLAGS = $(CFLAGS) -else COMPILER = $(CXX) COMPILER_FLAGS = $(CXXFLAGS) # If HOST_LIBS is set, then the user is controlling the libraries to @@ -243,7 +236,6 @@ else LINKER = $(CC) LINKER_FLAGS = $(CFLAGS) endif -endif # ------------------------------------------- # Programs which operate on the build machine @@ -337,13 +329,8 @@ CLOOGINC = @CLOOGINC@ enable_lto = @enable_lto@ # Compiler and flags needed for plugin support -ifneq ($(ENABLE_BUILD_WITH_CXX),yes) -PLUGINCC = @CC@ -PLUGINCFLAGS = @CFLAGS@ -else PLUGINCC = @CXX@ PLUGINCFLAGS = @CXXFLAGS@ -endif # Libs and linker options needed for plugin support PLUGINLIBS = @pluginlibs@ @@ -733,22 +720,12 @@ BUILD_CFLAGS= @BUILD_CFLAGS@ -DGENERATOR_FILE BUILD_CXXFLAGS = @BUILD_CXXFLAGS@ -DGENERATOR_FILE # Native compiler that we use. This may be C++ some day. -ifneq ($(ENABLE_BUILD_WITH_CXX),yes) -COMPILER_FOR_BUILD = $(CC_FOR_BUILD) -BUILD_COMPILERFLAGS = $(BUILD_CFLAGS) -else COMPILER_FOR_BUILD = $(CXX_FOR_BUILD) BUILD_COMPILERFLAGS = $(BUILD_CXXFLAGS) -endif # Native linker that we use. -ifneq ($(ENABLE_BUILD_WITH_CXX),yes) -LINKER_FOR_BUILD = $(CC_FOR_BUILD) -BUILD_LINKERFLAGS = $(BUILD_CFLAGS) -else LINKER_FOR_BUILD = $(CXX_FOR_BUILD) BUILD_LINKERFLAGS = $(BUILD_CXXFLAGS) -endif # Native linker and preprocessor flags. For x-fragment overrides. BUILD_LDFLAGS=@BUILD_LDFLAGS@ @@ -999,18 +976,10 @@ ALL_CXXFLAGS = $(T_CFLAGS) $(CFLAGS-$@) $(CXXFLAGS) $(INTERNAL_CFLAGS) \ ALL_CPPFLAGS = $(INCLUDES) $(CPPFLAGS) # This is the variable to use when using $(COMPILER). -ifneq ($(ENABLE_BUILD_WITH_CXX),yes) -ALL_COMPILERFLAGS = $(ALL_CFLAGS) -else ALL_COMPILERFLAGS = $(ALL_CXXFLAGS) -endif # This is the variable to use when using $(LINKER). -ifneq ($(ENABLE_BUILD_WITH_CXX),yes) -ALL_LINKERFLAGS = $(ALL_CFLAGS) -else ALL_LINKERFLAGS = $(ALL_CXXFLAGS) -endif # Build and host support libraries. LIBIBERTY = ../libiberty/libiberty.a diff --git a/gcc/config.in b/gcc/config.in index 7b12b4b..6d986be 100644 --- a/gcc/config.in +++ b/gcc/config.in @@ -45,12 +45,6 @@ #endif -/* Define if building with C++. */ -#ifndef USED_FOR_TARGET -#undef ENABLE_BUILD_WITH_CXX -#endif - - /* Define if you want more run-time sanity checks. This one gets a grab bag of miscellaneous but relatively cheap checks. */ #ifndef USED_FOR_TARGET diff --git a/gcc/configure b/gcc/configure index 066ba5f..7ed2458 100755 --- a/gcc/configure +++ b/gcc/configure @@ -766,7 +766,6 @@ enable_shared enable_fixed_point enable_decimal_float enable_multilib -ENABLE_BUILD_WITH_CXX coverage_flags valgrind_command valgrind_path_defines @@ -873,7 +872,6 @@ enable_werror_always enable_checking enable_coverage enable_gather_detailed_mem_stats -enable_build_with_cxx with_stabs enable_multilib enable___cxa_atexit @@ -1575,7 +1573,6 @@ Optional Features: Values are opt, noopt, default is noopt --enable-gather-detailed-mem-stats enable detailed memory allocation stats gathering - --enable-build-with-cxx build with C++ compiler instead of C compiler --enable-multilib enable library support for multiple ABIs --enable-__cxa_atexit enable __cxa_atexit for C++ --enable-decimal-float={no,yes,bid,dpd} @@ -6996,21 +6993,6 @@ fi # Miscenalleous configure options # ------------------------------- -# See if we are building gcc with C++. -# Check whether --enable-build-with-cxx was given. -if test "${enable_build_with_cxx+set}" = set; then : - enableval=$enable_build_with_cxx; ENABLE_BUILD_WITH_CXX=$enableval -else - ENABLE_BUILD_WITH_CXX=yes -fi - - -if test "$ENABLE_BUILD_WITH_CXX" = "yes"; then - -$as_echo "#define ENABLE_BUILD_WITH_CXX 1" >>confdefs.h - -fi - # With stabs # Check whether --with-stabs was given. @@ -9514,6 +9496,12 @@ fi # g++ on Solaris 10+ defines _XOPEN_SOURCE=600, which exposes a different # iconv() prototype. +ac_ext=cpp +ac_cpp='$CXXCPP $CPPFLAGS' +ac_compile='$CXX -c $CXXFLAGS $CPPFLAGS conftest.$ac_ext >&5' +ac_link='$CXX -o conftest$ac_exeext $CXXFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5' +ac_compiler_gnu=$ac_cv_cxx_compiler_gnu + if test "X$prefix" = "XNONE"; then acl_final_prefix="$ac_default_prefix" @@ -10055,13 +10043,6 @@ fi fi -if test "$ENABLE_BUILD_WITH_CXX" = "yes"; then : - ac_ext=cpp -ac_cpp='$CXXCPP $CPPFLAGS' -ac_compile='$CXX -c $CXXFLAGS $CPPFLAGS conftest.$ac_ext >&5' -ac_link='$CXX -o conftest$ac_exeext $CXXFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5' -ac_compiler_gnu=$ac_cv_cxx_compiler_gnu - @@ -10217,169 +10198,12 @@ _ACEOF fi - ac_ext=c +ac_ext=c ac_cpp='$CPP $CPPFLAGS' ac_compile='$CC -c $CFLAGS $CPPFLAGS conftest.$ac_ext >&5' ac_link='$CC -o conftest$ac_exeext $CFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5' ac_compiler_gnu=$ac_cv_c_compiler_gnu -else - - - - - - am_save_CPPFLAGS="$CPPFLAGS" - - for element in $INCICONV; do - haveit= - for x in $CPPFLAGS; do - - acl_save_prefix="$prefix" - prefix="$acl_final_prefix" - acl_save_exec_prefix="$exec_prefix" - exec_prefix="$acl_final_exec_prefix" - eval x=\"$x\" - exec_prefix="$acl_save_exec_prefix" - prefix="$acl_save_prefix" - - if test "X$x" = "X$element"; then - haveit=yes - break - fi - done - if test -z "$haveit"; then - CPPFLAGS="${CPPFLAGS}${CPPFLAGS:+ }$element" - fi - done - - - { $as_echo "$as_me:${as_lineno-$LINENO}: checking for iconv" >&5 -$as_echo_n "checking for iconv... " >&6; } -if test "${am_cv_func_iconv+set}" = set; then : - $as_echo_n "(cached) " >&6 -else - - am_cv_func_iconv="no, consider installing GNU libiconv" - am_cv_lib_iconv=no - cat confdefs.h - <<_ACEOF >conftest.$ac_ext -/* end confdefs.h. */ -#include -#include -int -main () -{ -iconv_t cd = iconv_open("",""); - iconv(cd,NULL,NULL,NULL,NULL); - iconv_close(cd); - ; - return 0; -} -_ACEOF -if ac_fn_c_try_link "$LINENO"; then : - am_cv_func_iconv=yes -fi -rm -f core conftest.err conftest.$ac_objext \ - conftest$ac_exeext conftest.$ac_ext - if test "$am_cv_func_iconv" != yes; then - am_save_LIBS="$LIBS" - LIBS="$LIBS $LIBICONV" - cat confdefs.h - <<_ACEOF >conftest.$ac_ext -/* end confdefs.h. */ -#include -#include -int -main () -{ -iconv_t cd = iconv_open("",""); - iconv(cd,NULL,NULL,NULL,NULL); - iconv_close(cd); - ; - return 0; -} -_ACEOF -if ac_fn_c_try_link "$LINENO"; then : - am_cv_lib_iconv=yes - am_cv_func_iconv=yes -fi -rm -f core conftest.err conftest.$ac_objext \ - conftest$ac_exeext conftest.$ac_ext - LIBS="$am_save_LIBS" - fi - -fi -{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $am_cv_func_iconv" >&5 -$as_echo "$am_cv_func_iconv" >&6; } - if test "$am_cv_func_iconv" = yes; then - -$as_echo "#define HAVE_ICONV 1" >>confdefs.h - - fi - if test "$am_cv_lib_iconv" = yes; then - { $as_echo "$as_me:${as_lineno-$LINENO}: checking how to link with libiconv" >&5 -$as_echo_n "checking how to link with libiconv... " >&6; } - { $as_echo "$as_me:${as_lineno-$LINENO}: result: $LIBICONV" >&5 -$as_echo "$LIBICONV" >&6; } - else - CPPFLAGS="$am_save_CPPFLAGS" - LIBICONV= - LTLIBICONV= - fi - - - - if test "$am_cv_func_iconv" = yes; then - { $as_echo "$as_me:${as_lineno-$LINENO}: checking for iconv declaration" >&5 -$as_echo_n "checking for iconv declaration... " >&6; } - if test "${am_cv_proto_iconv+set}" = set; then : - $as_echo_n "(cached) " >&6 -else - - cat confdefs.h - <<_ACEOF >conftest.$ac_ext -/* end confdefs.h. */ - -#include -#include -extern -#ifdef __cplusplus -"C" -#endif -#if defined(__STDC__) || defined(__cplusplus) -size_t iconv (iconv_t cd, char * *inbuf, size_t *inbytesleft, char * *outbuf, size_t *outbytesleft); -#else -size_t iconv(); -#endif - -int -main () -{ - - ; - return 0; -} -_ACEOF -if ac_fn_c_try_compile "$LINENO"; then : - am_cv_proto_iconv_arg1="" -else - am_cv_proto_iconv_arg1="const" -fi -rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext - am_cv_proto_iconv="extern size_t iconv (iconv_t cd, $am_cv_proto_iconv_arg1 char * *inbuf, size_t *inbytesleft, char * *outbuf, size_t *outbytesleft);" -fi - - am_cv_proto_iconv=`echo "$am_cv_proto_iconv" | tr -s ' ' | sed -e 's/( /(/'` - { $as_echo "$as_me:${as_lineno-$LINENO}: result: ${ac_t:- - }$am_cv_proto_iconv" >&5 -$as_echo "${ac_t:- - }$am_cv_proto_iconv" >&6; } - -cat >>confdefs.h <<_ACEOF -#define ICONV_CONST $am_cv_proto_iconv_arg1 -_ACEOF - - fi - -fi # Until we have in-tree GNU iconv: LIBICONV_DEP= @@ -10765,14 +10589,13 @@ done # g++ on Solaris 10+ defines _XOPEN_SOURCE=600, which hides the madvise() # prototype. -if test "$ENABLE_BUILD_WITH_CXX" = "yes"; then : - ac_ext=cpp +ac_ext=cpp ac_cpp='$CXXCPP $CPPFLAGS' ac_compile='$CXX -c $CXXFLAGS $CPPFLAGS conftest.$ac_ext >&5' ac_link='$CXX -o conftest$ac_exeext $CXXFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5' ac_compiler_gnu=$ac_cv_cxx_compiler_gnu - for ac_func in madvise +for ac_func in madvise do ac_tr_decl=`$as_echo "HAVE_DECL_$ac_func" | $as_tr_cpp` { $as_echo "$as_me:${as_lineno-$LINENO}: checking whether $ac_func is declared" >&5 @@ -10785,8 +10608,8 @@ else #undef $ac_tr_decl #define $ac_tr_decl 1 - #include "ansidecl.h" - #include "system.h" + #include "ansidecl.h" + #include "system.h" int @@ -10823,66 +10646,12 @@ fi done - ac_ext=c +ac_ext=c ac_cpp='$CPP $CPPFLAGS' ac_compile='$CC -c $CFLAGS $CPPFLAGS conftest.$ac_ext >&5' ac_link='$CC -o conftest$ac_exeext $CFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5' ac_compiler_gnu=$ac_cv_c_compiler_gnu -else - for ac_func in madvise -do - ac_tr_decl=`$as_echo "HAVE_DECL_$ac_func" | $as_tr_cpp` -{ $as_echo "$as_me:${as_lineno-$LINENO}: checking whether $ac_func is declared" >&5 -$as_echo_n "checking whether $ac_func is declared... " >&6; } -if { as_var=gcc_cv_have_decl_$ac_func; eval "test \"\${$as_var+set}\" = set"; }; then : - $as_echo_n "(cached) " >&6 -else - cat confdefs.h - <<_ACEOF >conftest.$ac_ext -/* end confdefs.h. */ -#undef $ac_tr_decl -#define $ac_tr_decl 1 - - #include "ansidecl.h" - #include "system.h" - - -int -main () -{ -#ifndef $ac_func -char *(*pfn) = (char *(*)) $ac_func ; -#endif - ; - return 0; -} -_ACEOF -if ac_fn_c_try_compile "$LINENO"; then : - eval "gcc_cv_have_decl_$ac_func=yes" -else - eval "gcc_cv_have_decl_$ac_func=no" -fi -rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext -fi - -if eval "test \"`echo '$gcc_cv_have_decl_'$ac_func`\" = yes"; then - { $as_echo "$as_me:${as_lineno-$LINENO}: result: yes" >&5 -$as_echo "yes" >&6; } ; cat >>confdefs.h <<_ACEOF -#define $ac_tr_decl 1 -_ACEOF - -else - { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5 -$as_echo "no" >&6; } ; cat >>confdefs.h <<_ACEOF -#define $ac_tr_decl 0 -_ACEOF - -fi - -done - - -fi # More time-related stuff. { $as_echo "$as_me:${as_lineno-$LINENO}: checking for struct tms" >&5 @@ -17971,7 +17740,7 @@ else lt_dlunknown=0; lt_dlno_uscore=1; lt_dlneed_uscore=2 lt_status=$lt_dlunknown cat > conftest.$ac_ext <<_LT_EOF -#line 17974 "configure" +#line 17743 "configure" #include "confdefs.h" #if HAVE_DLFCN_H @@ -18077,7 +17846,7 @@ else lt_dlunknown=0; lt_dlno_uscore=1; lt_dlneed_uscore=2 lt_status=$lt_dlunknown cat > conftest.$ac_ext <<_LT_EOF -#line 18080 "configure" +#line 17849 "configure" #include "confdefs.h" #if HAVE_DLFCN_H diff --git a/gcc/configure.ac b/gcc/configure.ac index 0c55952..3503ea3 100644 --- a/gcc/configure.ac +++ b/gcc/configure.ac @@ -597,18 +597,6 @@ fi # Miscenalleous configure options # ------------------------------- -# See if we are building gcc with C++. -AC_ARG_ENABLE(build-with-cxx, -[AS_HELP_STRING([--enable-build-with-cxx], - [build with C++ compiler instead of C compiler])], -ENABLE_BUILD_WITH_CXX=$enableval, -ENABLE_BUILD_WITH_CXX=yes) -AC_SUBST(ENABLE_BUILD_WITH_CXX) -if test "$ENABLE_BUILD_WITH_CXX" = "yes"; then - AC_DEFINE(ENABLE_BUILD_WITH_CXX, 1, - [Define if building with C++.]) -fi - # With stabs AC_ARG_WITH(stabs, [AS_HELP_STRING([--with-stabs], @@ -1067,11 +1055,9 @@ AC_FUNC_FORK # g++ on Solaris 10+ defines _XOPEN_SOURCE=600, which exposes a different # iconv() prototype. -AS_IF([test "$ENABLE_BUILD_WITH_CXX" = "yes"], - [AC_LANG_PUSH([C++]) - AM_ICONV - AC_LANG_POP([C++])], - [AM_ICONV]) +AC_LANG_PUSH([C++]) +AM_ICONV +AC_LANG_POP([C++]) # Until we have in-tree GNU iconv: LIBICONV_DEP= @@ -1140,18 +1126,12 @@ gcc_AC_CHECK_DECLS(sigaltstack, , ,[ # g++ on Solaris 10+ defines _XOPEN_SOURCE=600, which hides the madvise() # prototype. -AS_IF([test "$ENABLE_BUILD_WITH_CXX" = "yes"], - [AC_LANG_PUSH([C++]) - gcc_AC_CHECK_DECLS(madvise, , ,[ - #include "ansidecl.h" - #include "system.h" - ]) - AC_LANG_POP([C++])], - [gcc_AC_CHECK_DECLS(madvise, , ,[ - #include "ansidecl.h" - #include "system.h" - ]) +AC_LANG_PUSH([C++]) +gcc_AC_CHECK_DECLS(madvise, , ,[ + #include "ansidecl.h" + #include "system.h" ]) +AC_LANG_POP([C++]) # More time-related stuff. AC_CACHE_CHECK(for struct tms, ac_cv_struct_tms, [ diff --git a/gcc/doc/install.texi b/gcc/doc/install.texi index 7b5cf1a..bee59ff 100644 --- a/gcc/doc/install.texi +++ b/gcc/doc/install.texi @@ -1293,16 +1293,6 @@ opposite effect. If neither option is specified, the configure script will try to guess whether the @code{.init_array} and @code{.fini_array} sections are supported and, if they are, use them. -@item --enable-build-with-cxx -Build GCC using a C++ compiler rather than a C compiler. This is an -experimental option which may become the default in a later release. - -@item --enable-build-poststage1-with-cxx -When bootstrapping, build stages 2 and 3 of GCC using a C++ compiler -rather than a C compiler. Stage 1 is still built with a C compiler. -This is enabled by default and may be disabled using -@option{--disable-build-poststage1-with-cxx}. - @item --enable-maintainer-mode The build rules that regenerate the Autoconf and Automake output files as well as the GCC master message catalog @file{gcc.pot} are normally diff --git a/gcc/go/go-c.h b/gcc/go/go-c.h index d46a087..a7f7b1f 100644 --- a/gcc/go/go-c.h +++ b/gcc/go/go-c.h @@ -20,16 +20,7 @@ along with GCC; see the file COPYING3. If not see #ifndef GO_GO_C_H #define GO_GO_C_H -#ifdef ENABLE_BUILD_WITH_CXX #define GO_EXTERN_C -#else -#define GO_EXTERN_C extern "C" -#endif - -#if defined(__cplusplus) && !defined(ENABLE_BUILD_WITH_CXX) -extern "C" -{ -#endif #include "machmode.h" @@ -71,8 +62,4 @@ extern const char *go_read_export_data (int, off_t, char **, size_t *, int *); extern GTY(()) tree go_non_zero_struct; -#if defined(__cplusplus) && !defined(ENABLE_BUILD_WITH_CXX) -} /* End extern "C". */ -#endif - #endif /* !defined(GO_GO_C_H) */ diff --git a/gcc/go/go-gcc.cc b/gcc/go/go-gcc.cc index 4729a3b..84bc972 100644 --- a/gcc/go/go-gcc.cc +++ b/gcc/go/go-gcc.cc @@ -24,20 +24,11 @@ // include it here before tree.h includes it later. #include -#ifndef ENABLE_BUILD_WITH_CXX -extern "C" -{ -#endif - #include "tree.h" #include "tree-iterator.h" #include "gimple.h" #include "toplev.h" -#ifndef ENABLE_BUILD_WITH_CXX -} -#endif - #include "go-c.h" #include "gogo.h" diff --git a/gcc/go/go-system.h b/gcc/go/go-system.h index 08aac6a..2decc55 100644 --- a/gcc/go/go-system.h +++ b/gcc/go/go-system.h @@ -134,11 +134,6 @@ struct hash // later. #include -#ifndef ENABLE_BUILD_WITH_CXX -extern "C" -{ -#endif - #include "system.h" #include "ansidecl.h" #include "coretypes.h" @@ -147,10 +142,6 @@ extern "C" #include "input.h" /* For source_location. */ #include "intl.h" /* For _(). */ -#ifndef ENABLE_BUILD_WITH_CXX -} // End extern "C" -#endif - // When using gcc, go_assert is just gcc_assert. #define go_assert(EXPR) gcc_assert(EXPR) diff --git a/gcc/go/gofrontend/expressions.cc b/gcc/go/gofrontend/expressions.cc index a2ac987..17e28e5 100644 --- a/gcc/go/gofrontend/expressions.cc +++ b/gcc/go/gofrontend/expressions.cc @@ -10,11 +10,6 @@ #include -#ifndef ENABLE_BUILD_WITH_CXX -extern "C" -{ -#endif - #include "toplev.h" #include "intl.h" #include "tree.h" @@ -24,10 +19,6 @@ extern "C" #include "real.h" #include "realmpfr.h" -#ifndef ENABLE_BUILD_WITH_CXX -} -#endif - #include "go-c.h" #include "gogo.h" #include "types.h" diff --git a/gcc/go/gofrontend/gogo-tree.cc b/gcc/go/gofrontend/gogo-tree.cc index bc33769..c933d93 100644 --- a/gcc/go/gofrontend/gogo-tree.cc +++ b/gcc/go/gofrontend/gogo-tree.cc @@ -8,11 +8,6 @@ #include -#ifndef ENABLE_BUILD_WITH_CXX -extern "C" -{ -#endif - #include "toplev.h" #include "tree.h" #include "gimple.h" @@ -22,12 +17,8 @@ extern "C" #include "convert.h" #include "output.h" #include "diagnostic.h" - -#ifndef ENABLE_BUILD_WITH_CXX -} -#endif - #include "go-c.h" + #include "types.h" #include "expressions.h" #include "statements.h" diff --git a/gcc/go/gofrontend/types.cc b/gcc/go/gofrontend/types.cc index 228f3fa..c52f41b 100644 --- a/gcc/go/gofrontend/types.cc +++ b/gcc/go/gofrontend/types.cc @@ -8,11 +8,6 @@ #include -#ifndef ENABLE_BUILD_WITH_CXX -extern "C" -{ -#endif - #include "toplev.h" #include "intl.h" #include "tree.h" @@ -20,10 +15,6 @@ extern "C" #include "real.h" #include "convert.h" -#ifndef ENABLE_BUILD_WITH_CXX -} -#endif - #include "go-c.h" #include "gogo.h" #include "operator.h" diff --git a/libcpp/Makefile.in b/libcpp/Makefile.in index d6df46d..3ae3280 100644 --- a/libcpp/Makefile.in +++ b/libcpp/Makefile.in @@ -77,16 +77,9 @@ ALL_CXXFLAGS = $(CXXFLAGS) $(WARN_CXXFLAGS) $(NOEXCEPTION_FLAGS) $(INCLUDES) \ $(CPPFLAGS) # The name of the compiler to use. -ENABLE_BUILD_WITH_CXX = @ENABLE_BUILD_WITH_CXX@ -ifneq ($(ENABLE_BUILD_WITH_CXX),yes) -COMPILER = $(CC) -COMPILER_FLAGS = $(ALL_CFLAGS) -DEPMODE = $(CCDEPMODE) -else COMPILER = $(CXX) COMPILER_FLAGS = $(ALL_CXXFLAGS) DEPMODE = $(CXXDEPMODE) -endif libcpp_a_OBJS = charset.o directives.o directives-only.o errors.o \ diff --git a/libcpp/configure b/libcpp/configure index e3c546c..01e4462 100755 --- a/libcpp/configure +++ b/libcpp/configure @@ -612,7 +612,6 @@ USE_NLS ALLOCA LIBOBJS CXXDEPMODE -CCDEPMODE DEPDIR am__leading_dot WERROR @@ -623,7 +622,6 @@ warn AUTOHEADER AUTOCONF ACLOCAL -ENABLE_BUILD_WITH_CXX EGREP GREP CPP @@ -696,7 +694,6 @@ ac_subst_files='' ac_user_opts=' enable_option_checking enable_largefile -enable_build_with_cxx enable_werror_always with_gnu_ld enable_rpath @@ -1332,7 +1329,6 @@ Optional Features: --disable-FEATURE do not include FEATURE (same as --enable-FEATURE=no) --enable-FEATURE[=ARG] include FEATURE [ARG=yes] --disable-largefile omit support for large files - --enable-build-with-cxx build with C++ compiler instead of C compiler --enable-werror-always enable -Werror despite compiler version --disable-rpath do not hardcode runtime library paths --enable-maintainer-mode enable rules only needed by maintainers @@ -4541,17 +4537,6 @@ rm -rf conftest* fi -# See if we are building gcc with C++. -# Do this early so setting lang to C++ affects following tests -# Check whether --enable-build-with-cxx was given. -if test "${enable_build_with_cxx+set}" = set; then : - enableval=$enable_build_with_cxx; ENABLE_BUILD_WITH_CXX=$enableval -else - ENABLE_BUILD_WITH_CXX=yes -fi - - - MISSING=`cd $ac_aux_dir && ${PWDCMD-pwd}`/missing for ac_prog in aclocal do @@ -4895,104 +4880,6 @@ DEPDIR="${am__leading_dot}deps" ac_config_commands="$ac_config_commands depdir" -if test "$ENABLE_BUILD_WITH_CXX" = "no"; then -depcc="$CC" am_compiler_list= - -am_depcomp=$ac_aux_dir/depcomp -{ $as_echo "$as_me:${as_lineno-$LINENO}: checking dependency style of $depcc" >&5 -$as_echo_n "checking dependency style of $depcc... " >&6; } -if test "${am_cv_CC_dependencies_compiler_type+set}" = set; then : - $as_echo_n "(cached) " >&6 -else - if test -f "$am_depcomp"; then - # We make a subdir and do the tests there. Otherwise we can end up - # making bogus files that we don't know about and never remove. For - # instance it was reported that on HP-UX the gcc test will end up - # making a dummy file named `D' -- because `-MD' means `put the output - # in D'. - mkdir conftest.dir - # Copy depcomp to subdir because otherwise we won't find it if we're - # using a relative directory. - cp "$am_depcomp" conftest.dir - cd conftest.dir - # We will build objects and dependencies in a subdirectory because - # it helps to detect inapplicable dependency modes. For instance - # both Tru64's cc and ICC support -MD to output dependencies as a - # side effect of compilation, but ICC will put the dependencies in - # the current directory while Tru64 will put them in the object - # directory. - mkdir sub - - am_cv_CC_dependencies_compiler_type=none - if test "$am_compiler_list" = ""; then - am_compiler_list=`sed -n 's/^\([a-zA-Z0-9]*\))$/\1/p' < ./depcomp` - fi - for depmode in $am_compiler_list; do - if test $depmode = none; then break; fi - - $as_echo "$as_me:$LINENO: trying $depmode" >&5 - # Setup a source with many dependencies, because some compilers - # like to wrap large dependency lists on column 80 (with \), and - # we should not choose a depcomp mode which is confused by this. - # - # We need to recreate these files for each test, as the compiler may - # overwrite some of them when testing with obscure command lines. - # This happens at least with the AIX C compiler. - : > sub/conftest.c - for i in 1 2 3 4 5 6; do - echo '#include "conftst'$i'.h"' >> sub/conftest.c - # Using `: > sub/conftst$i.h' creates only sub/conftst1.h with - # Solaris 8's {/usr,}/bin/sh. - touch sub/conftst$i.h - done - echo "include sub/conftest.Po" > confmf - - # We check with `-c' and `-o' for the sake of the "dashmstdout" - # mode. It turns out that the SunPro C++ compiler does not properly - # handle `-M -o', and we need to detect this. - depcmd="depmode=$depmode \ - source=sub/conftest.c object=sub/conftest.${OBJEXT-o} \ - depfile=sub/conftest.Po tmpdepfile=sub/conftest.TPo \ - $SHELL ./depcomp $depcc -c -o sub/conftest.${OBJEXT-o} sub/conftest.c" - echo "| $depcmd" | sed -e 's/ */ /g' >&5 - if env $depcmd > conftest.err 2>&1 && - grep sub/conftst6.h sub/conftest.Po >>conftest.err 2>&1 && - grep sub/conftest.${OBJEXT-o} sub/conftest.Po >>conftest.err 2>&1 && - ${MAKE-make} -s -f confmf >>conftest.err 2>&1; then - # icc doesn't choke on unknown options, it will just issue warnings - # or remarks (even with -Werror). So we grep stderr for any message - # that says an option was ignored or not supported. - # When given -MP, icc 7.0 and 7.1 complain thusly: - # icc: Command line warning: ignoring option '-M'; no argument required - # The diagnosis changed in icc 8.0: - # icc: Command line remark: option '-MP' not supported - if (grep 'ignoring option' conftest.err || - grep 'not supported' conftest.err) >/dev/null 2>&1; then :; else - am_cv_CC_dependencies_compiler_type=$depmode - $as_echo "$as_me:$LINENO: success" >&5 - break - fi - fi - $as_echo "$as_me:$LINENO: failure, diagnostics are:" >&5 - sed -e 's/^/| /' < conftest.err >&5 - done - - cd .. - rm -rf conftest.dir -else - am_cv_CC_dependencies_compiler_type=none -fi - -fi -{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $am_cv_CC_dependencies_compiler_type" >&5 -$as_echo "$am_cv_CC_dependencies_compiler_type" >&6; } -if test x${am_cv_CC_dependencies_compiler_type-none} = xnone -then as_fn_error "no usable dependency style found" "$LINENO" 5 -else CCDEPMODE=depmode=$am_cv_CC_dependencies_compiler_type - -fi - -else ac_ext=cpp ac_cpp='$CXXCPP $CPPFLAGS' ac_compile='$CXX -c $CXXFLAGS $CPPFLAGS conftest.$ac_ext >&5' @@ -5112,7 +4999,6 @@ else CXXDEPMODE=depmode=$am_cv_CXX_dependencies_compiler_type fi -fi # Checks for header files. { $as_echo "$as_me:${as_lineno-$LINENO}: checking whether time.h and sys/time.h may both be included" >&5 @@ -6454,6 +6340,12 @@ fi # g++ on Solaris 10+ defines _XOPEN_SOURCE=600, which exposes a different # iconv() prototype. +ac_ext=cpp +ac_cpp='$CXXCPP $CPPFLAGS' +ac_compile='$CXX -c $CXXFLAGS $CPPFLAGS conftest.$ac_ext >&5' +ac_link='$CXX -o conftest$ac_exeext $CXXFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5' +ac_compiler_gnu=$ac_cv_cxx_compiler_gnu + if test "X$prefix" = "XNONE"; then acl_final_prefix="$ac_default_prefix" @@ -6995,13 +6887,6 @@ fi fi -if test "$ENABLE_BUILD_WITH_CXX" = "yes"; then : - ac_ext=cpp -ac_cpp='$CXXCPP $CPPFLAGS' -ac_compile='$CXX -c $CXXFLAGS $CPPFLAGS conftest.$ac_ext >&5' -ac_link='$CXX -o conftest$ac_exeext $CXXFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5' -ac_compiler_gnu=$ac_cv_cxx_compiler_gnu - @@ -7157,169 +7042,12 @@ _ACEOF fi - ac_ext=c +ac_ext=c ac_cpp='$CPP $CPPFLAGS' ac_compile='$CC -c $CFLAGS $CPPFLAGS conftest.$ac_ext >&5' ac_link='$CC -o conftest$ac_exeext $CFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5' ac_compiler_gnu=$ac_cv_c_compiler_gnu -else - - - - - - am_save_CPPFLAGS="$CPPFLAGS" - - for element in $INCICONV; do - haveit= - for x in $CPPFLAGS; do - - acl_save_prefix="$prefix" - prefix="$acl_final_prefix" - acl_save_exec_prefix="$exec_prefix" - exec_prefix="$acl_final_exec_prefix" - eval x=\"$x\" - exec_prefix="$acl_save_exec_prefix" - prefix="$acl_save_prefix" - - if test "X$x" = "X$element"; then - haveit=yes - break - fi - done - if test -z "$haveit"; then - CPPFLAGS="${CPPFLAGS}${CPPFLAGS:+ }$element" - fi - done - - - { $as_echo "$as_me:${as_lineno-$LINENO}: checking for iconv" >&5 -$as_echo_n "checking for iconv... " >&6; } -if test "${am_cv_func_iconv+set}" = set; then : - $as_echo_n "(cached) " >&6 -else - - am_cv_func_iconv="no, consider installing GNU libiconv" - am_cv_lib_iconv=no - cat confdefs.h - <<_ACEOF >conftest.$ac_ext -/* end confdefs.h. */ -#include -#include -int -main () -{ -iconv_t cd = iconv_open("",""); - iconv(cd,NULL,NULL,NULL,NULL); - iconv_close(cd); - ; - return 0; -} -_ACEOF -if ac_fn_c_try_link "$LINENO"; then : - am_cv_func_iconv=yes -fi -rm -f core conftest.err conftest.$ac_objext \ - conftest$ac_exeext conftest.$ac_ext - if test "$am_cv_func_iconv" != yes; then - am_save_LIBS="$LIBS" - LIBS="$LIBS $LIBICONV" - cat confdefs.h - <<_ACEOF >conftest.$ac_ext -/* end confdefs.h. */ -#include -#include -int -main () -{ -iconv_t cd = iconv_open("",""); - iconv(cd,NULL,NULL,NULL,NULL); - iconv_close(cd); - ; - return 0; -} -_ACEOF -if ac_fn_c_try_link "$LINENO"; then : - am_cv_lib_iconv=yes - am_cv_func_iconv=yes -fi -rm -f core conftest.err conftest.$ac_objext \ - conftest$ac_exeext conftest.$ac_ext - LIBS="$am_save_LIBS" - fi - -fi -{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $am_cv_func_iconv" >&5 -$as_echo "$am_cv_func_iconv" >&6; } - if test "$am_cv_func_iconv" = yes; then - -$as_echo "#define HAVE_ICONV 1" >>confdefs.h - - fi - if test "$am_cv_lib_iconv" = yes; then - { $as_echo "$as_me:${as_lineno-$LINENO}: checking how to link with libiconv" >&5 -$as_echo_n "checking how to link with libiconv... " >&6; } - { $as_echo "$as_me:${as_lineno-$LINENO}: result: $LIBICONV" >&5 -$as_echo "$LIBICONV" >&6; } - else - CPPFLAGS="$am_save_CPPFLAGS" - LIBICONV= - LTLIBICONV= - fi - - - - if test "$am_cv_func_iconv" = yes; then - { $as_echo "$as_me:${as_lineno-$LINENO}: checking for iconv declaration" >&5 -$as_echo_n "checking for iconv declaration... " >&6; } - if test "${am_cv_proto_iconv+set}" = set; then : - $as_echo_n "(cached) " >&6 -else - - cat confdefs.h - <<_ACEOF >conftest.$ac_ext -/* end confdefs.h. */ - -#include -#include -extern -#ifdef __cplusplus -"C" -#endif -#if defined(__STDC__) || defined(__cplusplus) -size_t iconv (iconv_t cd, char * *inbuf, size_t *inbytesleft, char * *outbuf, size_t *outbytesleft); -#else -size_t iconv(); -#endif - -int -main () -{ - - ; - return 0; -} -_ACEOF -if ac_fn_c_try_compile "$LINENO"; then : - am_cv_proto_iconv_arg1="" -else - am_cv_proto_iconv_arg1="const" -fi -rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext - am_cv_proto_iconv="extern size_t iconv (iconv_t cd, $am_cv_proto_iconv_arg1 char * *inbuf, size_t *inbytesleft, char * *outbuf, size_t *outbytesleft);" -fi - - am_cv_proto_iconv=`echo "$am_cv_proto_iconv" | tr -s ' ' | sed -e 's/( /(/'` - { $as_echo "$as_me:${as_lineno-$LINENO}: result: ${ac_t:- - }$am_cv_proto_iconv" >&5 -$as_echo "${ac_t:- - }$am_cv_proto_iconv" >&6; } - -cat >>confdefs.h <<_ACEOF -#define ICONV_CONST $am_cv_proto_iconv_arg1 -_ACEOF - - fi - -fi # More defines and substitutions. PACKAGE="$PACKAGE_TARNAME" diff --git a/libcpp/configure.ac b/libcpp/configure.ac index 291f4b4..29bd8c5 100644 --- a/libcpp/configure.ac +++ b/libcpp/configure.ac @@ -17,14 +17,6 @@ AC_PROG_RANLIB AC_USE_SYSTEM_EXTENSIONS AC_SYS_LARGEFILE -# See if we are building gcc with C++. -# Do this early so setting lang to C++ affects following tests -AC_ARG_ENABLE(build-with-cxx, -[ --enable-build-with-cxx build with C++ compiler instead of C compiler], -ENABLE_BUILD_WITH_CXX=$enableval, -ENABLE_BUILD_WITH_CXX=yes) -AC_SUBST(ENABLE_BUILD_WITH_CXX) - MISSING=`cd $ac_aux_dir && ${PWDCMD-pwd}`/missing AC_CHECK_PROGS([ACLOCAL], [aclocal], [$MISSING aclocal]) AC_CHECK_PROGS([AUTOCONF], [autoconf], [$MISSING autoconf]) @@ -49,15 +41,11 @@ ACX_PROG_CC_WARNINGS_ARE_ERRORS([manual]) # Dependency checking. ZW_CREATE_DEPDIR -if test "$ENABLE_BUILD_WITH_CXX" = "no"; then -ZW_PROG_COMPILER_DEPENDENCIES([CC]) -else AC_LANG_PUSH([C++]) AC_COMPILE_IFELSE([[int i;]], [], [AC_MSG_ERROR([C++ compiler missing or inoperational])]) AC_LANG_POP([C++]) ZW_PROG_COMPILER_DEPENDENCIES([CXX]) -fi # Checks for header files. AC_HEADER_TIME @@ -108,11 +96,9 @@ fi # g++ on Solaris 10+ defines _XOPEN_SOURCE=600, which exposes a different # iconv() prototype. -AS_IF([test "$ENABLE_BUILD_WITH_CXX" = "yes"], - [AC_LANG_PUSH([C++]) - AM_ICONV - AC_LANG_POP([C++])], - [AM_ICONV]) +AC_LANG_PUSH([C++]) +AM_ICONV +AC_LANG_POP([C++]) # More defines and substitutions. PACKAGE="$PACKAGE_TARNAME"