You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@stdcxx.apache.org by se...@apache.org on 2007/10/11 03:38:39 UTC
svn commit: r583667 - in /incubator/stdcxx/trunk/include: exception new
Author: sebor
Date: Wed Oct 10 18:38:38 2007
New Revision: 583667
URL: http://svn.apache.org/viewvc?rev=583667&view=rev
Log:
2007-09-26 Martin Sebor <se...@roguewave.com>
STDCXX-262
* exception (~exception): Declared after what() to prevent gcc 4
on Darwin from generating a vtable for the class in exception.o.
gcc 3.4.6 on FreeBSD 6.2 has no problem either way.
(~bad_exception): Declared before what() to achieve the same
effect as above.
* new (~bad_alloc): Declared before what() for the same reason.
Modified:
incubator/stdcxx/trunk/include/exception
incubator/stdcxx/trunk/include/new
Modified: incubator/stdcxx/trunk/include/exception
URL: http://svn.apache.org/viewvc/incubator/stdcxx/trunk/include/exception?rev=583667&r1=583666&r2=583667&view=diff
==============================================================================
--- incubator/stdcxx/trunk/include/exception (original)
+++ incubator/stdcxx/trunk/include/exception Wed Oct 10 18:38:38 2007
@@ -62,12 +62,11 @@
// 18.6.1, p4
exception& operator= (const exception&) _THROWS (());
- // 18.6.1, p6
- virtual ~exception () _THROWS (());
-
// 18.6.1, p8
virtual const char* what () const _THROWS (());
+ // 18.6.1, p6
+ virtual ~exception () _THROWS (());
#if defined (__INTEL_COMPILER) && !defined (_MSC_VER)
@@ -129,10 +128,10 @@
// 18.6.2.1, p4
bad_exception& operator= (const bad_exception&) _THROWS (());
+ virtual ~bad_exception () _THROWS (());
+
// 18.6.2.1, p5
virtual const char* what () const _THROWS (());
-
- virtual ~bad_exception () _THROWS (());
};
#if !defined (_RWSTD_NO_STD_BAD_EXCEPTION) \
Modified: incubator/stdcxx/trunk/include/new
URL: http://svn.apache.org/viewvc/incubator/stdcxx/trunk/include/new?rev=583667&r1=583666&r2=583667&view=diff
==============================================================================
--- incubator/stdcxx/trunk/include/new (original)
+++ incubator/stdcxx/trunk/include/new Wed Oct 10 18:38:38 2007
@@ -145,10 +145,10 @@
// prevent ld error when replacing operator new:
// multiple definition of `operator new(unsigned long)'
+ ~bad_alloc () _THROWS (());
+
// 18.4.2.1, p5
virtual const char* what () const _THROWS (());
-
- ~bad_alloc () _THROWS (());
#endif // Intel C++ > 8.0