From eeb109f2cf3af694342375fcb14a70f6be4cf413 Mon Sep 17 00:00:00 2001 From: Nathan Sidwell Date: Thu, 13 Jan 2000 15:37:03 +0000 Subject: [PATCH] g++spec.c (lang_specific_driver): Add -fnew-abi if ENABLE_NEW_GXX_ABI defined. * g++spec.c (lang_specific_driver): Add -fnew-abi if ENABLE_NEW_GXX_ABI defined. * Make-lang.in (tinfo.o, tinfo2.o, exception.o, new.o, opnew.o, opnewnt.o, opvnew.o, opvnewnt.o, opdel.o, opdelnt.o, opvdel.o, opvdelnt.o): Use GXX_ABI_FLAG switch. From-SVN: r31388 --- gcc/cp/Make-lang.in | 26 +++++++++++++------------- gcc/cp/g++spec.c | 10 +++++++++- 2 files changed, 22 insertions(+), 14 deletions(-) diff --git a/gcc/cp/Make-lang.in b/gcc/cp/Make-lang.in index ffb1b0c6ab6..04d3828ae49 100644 --- a/gcc/cp/Make-lang.in +++ b/gcc/cp/Make-lang.in @@ -1,5 +1,5 @@ # Top level makefile fragment for GNU C++. -# Copyright (C) 1994, 1995, 1997, 1998, 1999 Free Software Foundation, Inc. +# Copyright (C) 1994, 1995, 1997, 1998, 1999, 2000 Free Software Foundation, Inc. #This file is part of GNU CC. @@ -137,40 +137,40 @@ c++.dvi: # C++ language-support library pieces for libgcc. tinfo.o: cc1plus$(exeext) $(srcdir)/cp/tinfo.cc - $(GCC_FOR_TARGET) $(LIBGCC2_CFLAGS) $(CXXFLAGS) $(INCLUDES) \ + $(GCC_FOR_TARGET) $(LIBGCC2_CFLAGS) $(GXX_ABI_FLAG) $(CXXFLAGS) $(INCLUDES) \ -c $(srcdir)/cp/tinfo.cc tinfo2.o: cc1plus$(exeext) $(srcdir)/cp/tinfo2.cc - $(GCC_FOR_TARGET) $(LIBGCC2_CFLAGS) $(CXXFLAGS) $(INCLUDES) \ + $(GCC_FOR_TARGET) $(LIBGCC2_CFLAGS) $(GXX_ABI_FLAG) $(CXXFLAGS) $(INCLUDES) \ -c $(srcdir)/cp/tinfo2.cc exception.o: cc1plus$(exeext) $(srcdir)/cp/exception.cc - $(GCC_FOR_TARGET) $(LIBGCC2_CFLAGS) $(CXXFLAGS) $(INCLUDES) \ + $(GCC_FOR_TARGET) $(LIBGCC2_CFLAGS) $(GXX_ABI_FLAG) $(CXXFLAGS) $(INCLUDES) \ -c -fexceptions $(srcdir)/cp/exception.cc new.o: cc1plus$(exeext) $(srcdir)/cp/new.cc - $(GCC_FOR_TARGET) $(LIBGCC2_CFLAGS) $(CXXFLAGS) $(INCLUDES) \ + $(GCC_FOR_TARGET) $(LIBGCC2_CFLAGS) $(GXX_ABI_FLAG) $(CXXFLAGS) $(INCLUDES) \ -c $(srcdir)/cp/new.cc opnew.o: cc1plus$(exeext) $(srcdir)/cp/new1.cc - $(GCC_FOR_TARGET) $(LIBGCC2_CFLAGS) $(CXXFLAGS) $(INCLUDES) \ + $(GCC_FOR_TARGET) $(LIBGCC2_CFLAGS) $(GXX_ABI_FLAG) $(CXXFLAGS) $(INCLUDES) \ -c $(srcdir)/cp/new1.cc -DL_op_new -o opnew.o opnewnt.o: cc1plus$(exeext) $(srcdir)/cp/new1.cc - $(GCC_FOR_TARGET) $(LIBGCC2_CFLAGS) $(CXXFLAGS) $(INCLUDES) \ + $(GCC_FOR_TARGET) $(LIBGCC2_CFLAGS) $(GXX_ABI_FLAG) $(CXXFLAGS) $(INCLUDES) \ -c $(srcdir)/cp/new1.cc -DL_op_newnt -o opnewnt.o opvnew.o: cc1plus$(exeext) $(srcdir)/cp/new2.cc - $(GCC_FOR_TARGET) $(LIBGCC2_CFLAGS) $(CXXFLAGS) $(INCLUDES) \ + $(GCC_FOR_TARGET) $(LIBGCC2_CFLAGS) $(GXX_ABI_FLAG) $(CXXFLAGS) $(INCLUDES) \ -c $(srcdir)/cp/new2.cc -DL_op_vnew -o opvnew.o opvnewnt.o: cc1plus$(exeext) $(srcdir)/cp/new2.cc - $(GCC_FOR_TARGET) $(LIBGCC2_CFLAGS) $(CXXFLAGS) $(INCLUDES) \ + $(GCC_FOR_TARGET) $(LIBGCC2_CFLAGS) $(GXX_ABI_FLAG) $(CXXFLAGS) $(INCLUDES) \ -c $(srcdir)/cp/new2.cc -DL_op_vnewnt -o opvnewnt.o opdel.o: cc1plus$(exeext) $(srcdir)/cp/new2.cc - $(GCC_FOR_TARGET) $(LIBGCC2_CFLAGS) $(CXXFLAGS) $(INCLUDES) \ + $(GCC_FOR_TARGET) $(LIBGCC2_CFLAGS) $(GXX_ABI_FLAG) $(CXXFLAGS) $(INCLUDES) \ -c $(srcdir)/cp/new2.cc -DL_op_delete -o opdel.o opdelnt.o: cc1plus$(exeext) $(srcdir)/cp/new2.cc - $(GCC_FOR_TARGET) $(LIBGCC2_CFLAGS) $(CXXFLAGS) $(INCLUDES) \ + $(GCC_FOR_TARGET) $(LIBGCC2_CFLAGS) $(GXX_ABI_FLAG) $(CXXFLAGS) $(INCLUDES) \ -c $(srcdir)/cp/new2.cc -DL_op_delnt -o opdelnt.o opvdel.o: cc1plus$(exeext) $(srcdir)/cp/new2.cc - $(GCC_FOR_TARGET) $(LIBGCC2_CFLAGS) $(CXXFLAGS) $(INCLUDES) \ + $(GCC_FOR_TARGET) $(LIBGCC2_CFLAGS) $(GXX_ABI_FLAG) $(CXXFLAGS) $(INCLUDES) \ -c $(srcdir)/cp/new2.cc -DL_op_vdel -o opvdel.o opvdelnt.o: cc1plus$(exeext) $(srcdir)/cp/new2.cc - $(GCC_FOR_TARGET) $(LIBGCC2_CFLAGS) $(CXXFLAGS) $(INCLUDES) \ + $(GCC_FOR_TARGET) $(LIBGCC2_CFLAGS) $(GXX_ABI_FLAG) $(CXXFLAGS) $(INCLUDES) \ -c $(srcdir)/cp/new2.cc -DL_op_vdelnt -o opvdelnt.o # We want to update cplib2.txt if any of the source files change... diff --git a/gcc/cp/g++spec.c b/gcc/cp/g++spec.c index 239390d9c2d..ca1ab68c06f 100644 --- a/gcc/cp/g++spec.c +++ b/gcc/cp/g++spec.c @@ -1,5 +1,5 @@ /* Specific flags and argument handling of the C++ front-end. - Copyright (C) 1996, 1997, 1998, 1999 Free Software Foundation, Inc. + Copyright (C) 1996, 1997, 1998, 1999, 2000 Free Software Foundation, Inc. This file is part of GNU CC. @@ -95,6 +95,10 @@ lang_specific_driver (in_argc, in_argv, in_added_libraries) /* The total number of arguments with the new stuff. */ int num_args = 1; +#if ENABLE_NEW_GXX_ABI + added++; +#endif + argc = *in_argc; argv = *in_argv; added_libraries = *in_added_libraries; @@ -235,6 +239,10 @@ lang_specific_driver (in_argc, in_argv, in_added_libraries) } } +#if ENABLE_NEW_GXX_ABI + arglist[j++] = "-fnew-abi"; +#endif + /* Add `-lstdc++' if we haven't already done so. */ if (library) {