stdcxx-commits mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From se...@apache.org
Subject svn commit: r263908 - /incubator/stdcxx/trunk/etc/config/src/EXCEPTION_DTOR.cpp
Date Sun, 28 Aug 2005 19:44:18 GMT
Author: sebor
Date: Sun Aug 28 12:44:15 2005
New Revision: 263908

URL: http://svn.apache.org/viewcvs?rev=263908&view=rev
Log:
2005-08-28  Martin Sebor  <sebor@roguewave.com>

	STDCXX-15
	* EXCEPTION_DTOR.cpp: Prevented the exception object from being
	constructed and its dtor from actually being called (unless the
	test is invoked with more than one command line arguments during
	manual testing).

Modified:
    incubator/stdcxx/trunk/etc/config/src/EXCEPTION_DTOR.cpp

Modified: incubator/stdcxx/trunk/etc/config/src/EXCEPTION_DTOR.cpp
URL: http://svn.apache.org/viewcvs/incubator/stdcxx/trunk/etc/config/src/EXCEPTION_DTOR.cpp?rev=263908&r1=263907&r2=263908&view=diff
==============================================================================
--- incubator/stdcxx/trunk/etc/config/src/EXCEPTION_DTOR.cpp (original)
+++ incubator/stdcxx/trunk/etc/config/src/EXCEPTION_DTOR.cpp Sun Aug 28 12:44:15 2005
@@ -60,6 +60,8 @@
 
 #endif   // _RWSTD_NO_EXCEPTION_DEFAULT_CTOR
 
+    // check to see if the class dtor is defined
+    // in the compiler's language support library
     virtual ~exception ();   // not defined here
 };
 
@@ -79,17 +81,18 @@
 {
     (void)&argv;
 
-    // try to prevent the compiler from optimizing the dtor call away
-    std::exception *ptr;
+    // use dynamic allocation to prevent the compiler
+    // from optimizing the dtor call away
+    std::exception *ptr = 0;
 
-    if (1 < argc)
+    if (2 < argc)
         ptr = new Derived;
-    else
+    else if (1 < argc)
         ptr = new std::exception;
 
     delete ptr;
 
-    return !(1 < argc ? 1 == dtor : 0 == dtor);
+    return !(2 < argc ? 1 == dtor : 0 == dtor);
 }
 
 Derived::~Derived () { ++dtor; }



Mime
View raw message