From 2bddc509588994a5907cabf12cc7a916a67b3832 Mon Sep 17 00:00:00 2001 From: Jonathan Wakely Date: Wed, 9 Feb 2011 23:22:27 +0000 Subject: [PATCH] re PR libstdc++/43863 (Unused recursive_init_error class defined with -fno-exceptions) 2011-02-09 Jonathan Wakely PR libstdc++/43863 * libsupc++/guard.cc (recursive_init_error::~recursive_init_error): Move to ... * libsupc++/guard_error.cc: ... new file. * libsupc++/Makefile.am: Update. * libsupc++/Makefile.in: Regenerate. From-SVN: r169989 --- libstdc++-v3/ChangeLog | 9 ++++++++ libstdc++-v3/libsupc++/Makefile.am | 1 + libstdc++-v3/libsupc++/Makefile.in | 5 +++-- libstdc++-v3/libsupc++/guard.cc | 8 ++----- libstdc++-v3/libsupc++/guard_error.cc | 31 +++++++++++++++++++++++++++ 5 files changed, 46 insertions(+), 8 deletions(-) create mode 100644 libstdc++-v3/libsupc++/guard_error.cc diff --git a/libstdc++-v3/ChangeLog b/libstdc++-v3/ChangeLog index 243659f0208..e45a71b5928 100644 --- a/libstdc++-v3/ChangeLog +++ b/libstdc++-v3/ChangeLog @@ -1,3 +1,12 @@ +2011-02-09 Jonathan Wakely + + PR libstdc++/43863 + * libsupc++/guard.cc (recursive_init_error::~recursive_init_error): + Move to ... + * libsupc++/guard_error.cc: ... new file. + * libsupc++/Makefile.am: Update. + * libsupc++/Makefile.in: Regenerate. + 2011-02-09 Jonathan Wakely * include/std/future (packaged_task::operator bool): Rename to... diff --git a/libstdc++-v3/libsupc++/Makefile.am b/libstdc++-v3/libsupc++/Makefile.am index f66832882bd..842d87af816 100644 --- a/libstdc++-v3/libsupc++/Makefile.am +++ b/libstdc++-v3/libsupc++/Makefile.am @@ -75,6 +75,7 @@ sources = \ function_type_info.cc \ fundamental_type_info.cc \ guard.cc \ + guard_error.cc \ hash_bytes.cc \ new_handler.cc \ new_op.cc \ diff --git a/libstdc++-v3/libsupc++/Makefile.in b/libstdc++-v3/libsupc++/Makefile.in index 9951feddca1..5d687ed730b 100644 --- a/libstdc++-v3/libsupc++/Makefile.in +++ b/libstdc++-v3/libsupc++/Makefile.in @@ -97,8 +97,8 @@ am__objects_1 = array_type_info.lo atexit_arm.lo bad_alloc.lo \ eh_exception.lo eh_globals.lo eh_personality.lo eh_ptr.lo \ eh_term_handler.lo eh_terminate.lo eh_throw.lo eh_type.lo \ eh_unex_handler.lo enum_type_info.lo function_type_info.lo \ - fundamental_type_info.lo guard.lo hash_bytes.lo new_handler.lo \ - new_op.lo new_opnt.lo new_opv.lo new_opvnt.lo \ + fundamental_type_info.lo guard.lo guard_error.lo hash_bytes.lo \ + new_handler.lo new_op.lo new_opnt.lo new_opv.lo new_opvnt.lo \ pbase_type_info.lo pmem_type_info.lo pointer_type_info.lo \ pure.lo si_class_type_info.lo tinfo.lo tinfo2.lo vec.lo \ vmi_class_type_info.lo vterminate.lo @@ -380,6 +380,7 @@ sources = \ function_type_info.cc \ fundamental_type_info.cc \ guard.cc \ + guard_error.cc \ hash_bytes.cc \ new_handler.cc \ new_op.cc \ diff --git a/libstdc++-v3/libsupc++/guard.cc b/libstdc++-v3/libsupc++/guard.cc index 222e5ec4227..6e3d415cd11 100644 --- a/libstdc++-v3/libsupc++/guard.cc +++ b/libstdc++-v3/libsupc++/guard.cc @@ -1,4 +1,5 @@ -// Copyright (C) 2002, 2004, 2006, 2008, 2009 Free Software Foundation, Inc. +// Copyright (C) 2002, 2004, 2006, 2008, 2009, 2010, 2011 +// Free Software Foundation, Inc. // // This file is part of GCC. // @@ -134,11 +135,6 @@ __set_and_release (__cxxabiv1::__guard *g) #endif /* __GTHREADS */ -namespace __gnu_cxx -{ - recursive_init_error::~recursive_init_error() throw() { } -} - // // Here are C++ run-time routines for guarded initiailization of static // variables. There are 4 scenarios under which these routines are called: diff --git a/libstdc++-v3/libsupc++/guard_error.cc b/libstdc++-v3/libsupc++/guard_error.cc new file mode 100644 index 00000000000..7c06bcd0d31 --- /dev/null +++ b/libstdc++-v3/libsupc++/guard_error.cc @@ -0,0 +1,31 @@ +// Copyright (C) 2011 Free Software Foundation, Inc. +// +// This file is part of GCC. +// +// GCC is free software; you can redistribute it and/or modify +// it under the terms of the GNU General Public License as published by +// the Free Software Foundation; either version 3, or (at your option) +// any later version. + +// GCC is distributed in the hope that it will be useful, +// but WITHOUT ANY WARRANTY; without even the implied warranty of +// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the +// GNU General Public License for more details. + +// Under Section 7 of GPL version 3, you are granted additional +// permissions described in the GCC Runtime Library Exception, version +// 3.1, as published by the Free Software Foundation. + +// You should have received a copy of the GNU General Public License and +// a copy of the GCC Runtime Library Exception along with this program; +// see the files COPYING3 and COPYING.RUNTIME respectively. If not, see +// . + +#include +#include + +namespace __gnu_cxx +{ + recursive_init_error::~recursive_init_error() throw() { } +} + -- 2.30.2