stdcxx-commits mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From se...@apache.org
Subject svn commit: r399914 - in /incubator/stdcxx/trunk/tests/strings: 21.string.append.cpp 21.string.assign.cpp 21.string.insert.cpp 21.string.op.plus.equal.cpp 21.string.replace.cpp
Date Fri, 05 May 2006 01:49:20 GMT
Author: sebor
Date: Thu May  4 18:49:19 2006
New Revision: 399914

URL: http://svn.apache.org/viewcvs?rev=399914&view=rev
Log:
2006-05-04  Martin Sebor  <sebor@roguewave.com>

	* 21.string.append.cpp (test_append): Simplified the handling
	of the _RWSTD_NO_REPLACEABLE_NEW_DELETE config macro.
	* 21.string.assign.cpp (test_assign): Same.
	* 21.string.insert.cpp (test_insert): Same.
	* 21.string.plus_equal.cpp (test_op_plus_eq): Same.
	* 21.string.replace.cpp (test_replace): Same.

Modified:
    incubator/stdcxx/trunk/tests/strings/21.string.append.cpp
    incubator/stdcxx/trunk/tests/strings/21.string.assign.cpp
    incubator/stdcxx/trunk/tests/strings/21.string.insert.cpp
    incubator/stdcxx/trunk/tests/strings/21.string.op.plus.equal.cpp
    incubator/stdcxx/trunk/tests/strings/21.string.replace.cpp

Modified: incubator/stdcxx/trunk/tests/strings/21.string.append.cpp
URL: http://svn.apache.org/viewcvs/incubator/stdcxx/trunk/tests/strings/21.string.append.cpp?rev=399914&r1=399913&r2=399914&view=diff
==============================================================================
--- incubator/stdcxx/trunk/tests/strings/21.string.append.cpp (original)
+++ incubator/stdcxx/trunk/tests/strings/21.string.append.cpp Thu May  4 18:49:19 2006
@@ -34,28 +34,21 @@
 #include <alg_test.h>     // for InputIter
 #include <driver.h>       // for rw_test()
 #include <rw_char.h>      // for rw_widen()
+#include <rw_new.h>       // for bad_alloc, replacement operator new
 
-#ifndef _RWSTD_NO_REPLACEABLE_NEW_DELETE
-   // disabled for compilers such as IBM VAC++ or MSVC
-   // that can't reliably replace the operators
-#  include <rw_new.h>   // for bad_alloc, replacement operator new
-#else
-#  include <new>        // for bad_alloc
-#endif   // _RWSTD_NO_REPLACEABLE_NEW_DELETE
 
+/**************************************************************************/
 
-#define Append(which)    StringMembers::append_ ## which
+// for convenience and brevity
+#define LSTR            StringMembers::long_string
+#define LLEN            StringMembers::long_string_len
+#define Append(which)   StringMembers::append_ ## which
 
 typedef StringMembers::OverloadId OverloadId;
 typedef StringMembers::TestCase   TestCase;
 typedef StringMembers::Test       Test;
 typedef StringMembers::Function   MemFun;
 
-/**************************************************************************/
-
-// for convenience and brevity
-#define LSTR      StringMembers::long_string
-#define LLEN      StringMembers::long_string_len
 
 static const char* const exceptions[] = {
     "unknown exception", "out_of_range", "length_error",
@@ -523,27 +516,14 @@
     if (rg_calls)
         total_length_calls = rg_calls [UTMemFun::length];
 
-#ifndef _RWSTD_NO_REPLACEABLE_NEW_DELETE
-
     rwt_free_store* const pst = rwt_get_free_store (0);
 
-#endif   // _RWSTD_NO_REPLACEABLE_NEW_DELETE
-
     // iterate for`throw_after' starting at the next call to operator new,
     // forcing each call to throw an exception, until the function finally
     // succeeds (i.e, no exception is thrown)
     std::size_t throw_after;
     for (throw_after = 0; ; ++throw_after) {
 
-#ifndef _RWSTD_NO_EXCEPTIONS
-#  ifndef _RWSTD_NO_REPLACEABLE_NEW_DELETE
-
-        if (-1 == tcase.bthrow)
-            *pst->throw_at_calls_ [0] = pst->new_calls_ [0] + throw_after + 1;
-
-#  endif   // _RWSTD_NO_REPLACEABLE_NEW_DELETE
-#endif   // _RWSTD_NO_EXCEPTIONS
-
         // (name of) expected and caught exception
         const char* expected = 0;
         const char* caught   = 0;
@@ -554,8 +534,10 @@
             expected = exceptions [1];   // out_of_range
         else if (2 == tcase.bthrow)
             expected = exceptions [2];   // length_error
-        else if (-1 == tcase.bthrow)
+        else if (-1 == tcase.bthrow) {
             expected = exceptions [3];   // bad_alloc
+            *pst->throw_at_calls_ [0] = pst->new_calls_ [0] + throw_after + 1;
+        }
 
 #else   // if defined (_RWSTD_NO_EXCEPTIONS)
 
@@ -704,8 +686,7 @@
         break;
     }
 
-#ifndef _RWSTD_NO_EXCEPTIONS
-#  ifndef _RWSTD_NO_REPLACEABLE_NEW_DELETE
+#ifndef _RWSTD_NO_REPLACEABLE_NEW_DELETE
 
     // verify that if exceptions are enabled and when capacity changes
     // at least one exception is thrown
@@ -715,16 +696,9 @@
                "line %d: %{$FUNCALL}: failed to throw an expected exception",
                __LINE__);
 
-    *pst->throw_at_calls_ [0] = std::size_t (-1);
-
-#  endif   // _RWSTD_NO_REPLACEABLE_NEW_DELETE
-#else   // if defined (_RWSTD_NO_EXCEPTIONS)
-
-    _RWSTD_UNUSED (throw_after);
-    _RWSTD_UNUSED (pst);
-
-#endif   // _RWSTD_NO_EXCEPTIONS
+#endif   // _RWSTD_NO_REPLACEABLE_NEW_DELETE
 
+    *pst->throw_at_calls_ [0] = std::size_t (-1);
 }
 
 /**************************************************************************/

Modified: incubator/stdcxx/trunk/tests/strings/21.string.assign.cpp
URL: http://svn.apache.org/viewcvs/incubator/stdcxx/trunk/tests/strings/21.string.assign.cpp?rev=399914&r1=399913&r2=399914&view=diff
==============================================================================
--- incubator/stdcxx/trunk/tests/strings/21.string.assign.cpp (original)
+++ incubator/stdcxx/trunk/tests/strings/21.string.assign.cpp Thu May  4 18:49:19 2006
@@ -33,28 +33,21 @@
 #include <alg_test.h>     // for InputIter
 #include <driver.h>       // for rw_test()
 #include <rw_char.h>      // for rw_widen()
-
-#ifndef _RWSTD_NO_REPLACEABLE_NEW_DELETE
-   // disabled for compilers such as IBM VAC++ or MSVC
-   // that can't reliably replace the operators
-#  include <rw_new.h>   // for bad_alloc, replacement operator new
-#else
-#  include <new>        // for bad_alloc
-#endif   // _RWSTD_NO_REPLACEABLE_NEW_DELETE
-
-
-#define AssignOverload   StringMembers::OverloadId
-#define Assign(which)    StringMembers::assign_ ## which
-
-typedef StringMembers::TestCase TestCase;
-typedef StringMembers::Test     Test;
-typedef StringMembers::Function MemFun;
+#include <rw_new.h>       // for bad_alloc, replacement operator new
 
 /**************************************************************************/
 
 // for convenience and brevity
-#define LSTR   StringMembers::long_string
-#define LLEN   StringMembers::long_string_len
+
+#define LSTR            StringMembers::long_string
+#define LLEN            StringMembers::long_string_len
+#define Assign(which)   StringMembers::assign_ ## which
+
+typedef StringMembers::OverloadId AssignOverload;
+typedef StringMembers::TestCase   TestCase;
+typedef StringMembers::Test       Test;
+typedef StringMembers::Function   MemFun;
+
 
 static const char* const exceptions[] = {
     "unknown exception", "out_of_range", "length_error",
@@ -524,27 +517,14 @@
     if (rg_calls)
         total_length_calls = rg_calls [UTMemFun::length];
 
-#ifndef _RWSTD_NO_REPLACEABLE_NEW_DELETE
-
     rwt_free_store* const pst = rwt_get_free_store (0);
 
-#endif   // _RWSTD_NO_REPLACEABLE_NEW_DELETE
-
     // iterate for`throw_after' starting at the next call to operator new,
     // forcing each call to throw an exception, until the function finally
     // succeeds (i.e, no exception is thrown)
     std::size_t throw_after;
     for (throw_after = 0; ; ++throw_after) {
 
-#ifndef _RWSTD_NO_EXCEPTIONS
-#  ifndef _RWSTD_NO_REPLACEABLE_NEW_DELETE
-
-        if (-1 == tcase.bthrow)
-            *pst->throw_at_calls_ [0] = pst->new_calls_ [0] + throw_after + 1;
-
-#  endif   // _RWSTD_NO_REPLACEABLE_NEW_DELETE
-#endif   // _RWSTD_NO_EXCEPTIONS
-
         // (name of) expected and caught exception
         const char* expected = 0;
         const char* caught   = 0;
@@ -553,10 +533,12 @@
 
         if (1 == tcase.bthrow && Assign (str_size_size) == which)
             expected = exceptions [1];   // out_of_range
-        if (2 == tcase.bthrow)
+        else if (2 == tcase.bthrow)
             expected = exceptions [2];   // length_error
-        if (-1 == tcase.bthrow)
+        else if (-1 == tcase.bthrow) {
             expected = exceptions [3];   // bad_alloc
+            *pst->throw_at_calls_ [0] = pst->new_calls_ [0] + throw_after + 1;
+        }
 
 #else   // if defined (_RWSTD_NO_EXCEPTIONS)
 
@@ -716,16 +698,10 @@
                "line %d: %{$FUNCALL}: failed to throw an expected exception",
                __LINE__);
 
-    *pst->throw_at_calls_ [0] = std::size_t (-1);
-
 #  endif   // _RWSTD_NO_REPLACEABLE_NEW_DELETE
-#else   // if defined (_RWSTD_NO_EXCEPTIONS)
-
-    _RWSTD_UNUSED (pst);
-    _RWSTD_UNUSED (throw_after);
-
 #endif   // _RWSTD_NO_EXCEPTIONS
 
+    *pst->throw_at_calls_ [0] = std::size_t (-1);
 }
 
 /**************************************************************************/

Modified: incubator/stdcxx/trunk/tests/strings/21.string.insert.cpp
URL: http://svn.apache.org/viewcvs/incubator/stdcxx/trunk/tests/strings/21.string.insert.cpp?rev=399914&r1=399913&r2=399914&view=diff
==============================================================================
--- incubator/stdcxx/trunk/tests/strings/21.string.insert.cpp (original)
+++ incubator/stdcxx/trunk/tests/strings/21.string.insert.cpp Thu May  4 18:49:19 2006
@@ -34,28 +34,21 @@
 #include <alg_test.h>     // for InputIter
 #include <driver.h>       // for rw_test()
 #include <rw_char.h>      // for rw_widen()
+#include <rw_new.h>       // for bad_alloc, replacement operator new
 
-#ifndef _RWSTD_NO_REPLACEABLE_NEW_DELETE
-   // disabled for compilers such as IBM VAC++ or MSVC
-   // that can't reliably replace the operators
-#  include <rw_new.h>   // for bad_alloc, replacement operator new
-#else
-#  include <new>        // for bad_alloc
-#endif   // _RWSTD_NO_REPLACEABLE_NEW_DELETE
+/**************************************************************************/
+
+// for convenience and brevity
 
-#define Insert(which)     StringMembers::insert_ ## which
+#define LSTR            StringMembers::long_string
+#define LLEN            StringMembers::long_string_len
+#define Insert(which)   StringMembers::insert_ ## which
 
 typedef StringMembers::OverloadId OverloadId;
 typedef StringMembers::TestCase   TestCase;
 typedef StringMembers::Test       Test;
 typedef StringMembers::Function   MemFun;
 
-/**************************************************************************/
-
-// for convenience and brevity
-#define LSTR   StringMembers::long_string
-#define LLEN   StringMembers::long_string_len
-
 static const char* const exceptions[] = {
     "unknown exception", "out_of_range", "length_error",
     "bad_alloc", "exception"
@@ -606,27 +599,14 @@
     if (rg_calls)
         total_length_calls = rg_calls [UTMemFun::length];
 
-#ifndef _RWSTD_NO_REPLACEABLE_NEW_DELETE
-
     rwt_free_store* const pst = rwt_get_free_store (0);
 
-#endif   // _RWSTD_NO_REPLACEABLE_NEW_DELETE
-
     // iterate for`throw_after' starting at the next call to operator new,
     // forcing each call to throw an exception, until the function finally
     // succeeds (i.e, no exception is thrown)
     std::size_t throw_after;
     for (throw_after = 0; ; ++throw_after) {
 
-#ifndef _RWSTD_NO_EXCEPTIONS
-#  ifndef _RWSTD_NO_REPLACEABLE_NEW_DELETE
-
-        if (-1 == tcase.bthrow)
-            *pst->throw_at_calls_ [0] = pst->new_calls_ [0] + throw_after + 1;
-
-#  endif   // _RWSTD_NO_REPLACEABLE_NEW_DELETE
-#endif   // _RWSTD_NO_EXCEPTIONS
-
         // (name of) expected and caught exception
         const char* expected = 0;
         const char* caught   = 0;
@@ -637,12 +617,14 @@
 
         if (1 == tcase.bthrow && !use_iters)
             expected = exceptions [1];      // out_of_range
-        if (2 == tcase.bthrow && Insert (size_str_size_size) == which)
+        else if (2 == tcase.bthrow && Insert (size_str_size_size) == which)
             expected = exceptions [1];      // out_of_range
-        if (3 == tcase.bthrow && !use_iters)
+        else if (3 == tcase.bthrow && !use_iters)
             expected = exceptions [2];      // length_error
-        if (-1 == tcase.bthrow)
+        else if (-1 == tcase.bthrow) {
             expected = exceptions [3];      // bad_alloc
+            *pst->throw_at_calls_ [0] = pst->new_calls_ [0] + throw_after + 1;
+        }
 
 #else   // if defined (_RWSTD_NO_EXCEPTIONS)
 
@@ -807,8 +789,7 @@
         break;
     }
 
-#ifndef _RWSTD_NO_EXCEPTIONS
-#  ifndef _RWSTD_NO_REPLACEABLE_NEW_DELETE
+#ifndef _RWSTD_NO_REPLACEABLE_NEW_DELETE
 
     // verify that if exceptions are enabled and when capacity changes
     // at least one exception is thrown
@@ -818,16 +799,9 @@
                "line %d: %{$FUNCALL}: failed to throw an expected exception",
                __LINE__);
 
-    *pst->throw_at_calls_ [0] = std::size_t (-1);
-
-#  endif   // _RWSTD_NO_REPLACEABLE_NEW_DELETE
-#else   // if defined (_RWSTD_NO_EXCEPTIONS)
-
-    _RWSTD_UNUSED (pst);
-    _RWSTD_UNUSED (throw_after);
-
-#endif   // _RWSTD_NO_EXCEPTIONS
+#endif   // _RWSTD_NO_REPLACEABLE_NEW_DELETE
 
+    *pst->throw_at_calls_ [0] = std::size_t (-1);
 }
 
 /**************************************************************************/

Modified: incubator/stdcxx/trunk/tests/strings/21.string.op.plus.equal.cpp
URL: http://svn.apache.org/viewcvs/incubator/stdcxx/trunk/tests/strings/21.string.op.plus.equal.cpp?rev=399914&r1=399913&r2=399914&view=diff
==============================================================================
--- incubator/stdcxx/trunk/tests/strings/21.string.op.plus.equal.cpp (original)
+++ incubator/stdcxx/trunk/tests/strings/21.string.op.plus.equal.cpp Thu May  4 18:49:19 2006
@@ -34,34 +34,29 @@
 #include <alg_test.h>     // for InputIter
 #include <driver.h>       // for rw_test()
 #include <rw_char.h>      // for rw_widen()
+#include <rw_new.h>       // for bad_alloc, replacement operator new
 
+/**************************************************************************/
 
-#ifndef _RWSTD_NO_REPLACEABLE_NEW_DELETE
-#  include <rw_new.h>   // for bad_alloc, replacement operator new
-#else
-#  include <new>        // for bad_alloc
-#endif   // _RWSTD_NO_REPLACEABLE_NEW_DELETE
-
-#define OpPlusEq(which)    StringMembers::op_plus_eq_ ## which
+// for convenience and brevity
+#define LSTR              StringMembers::long_string
+#define LLEN              StringMembers::long_string_len
+#define OpPlusEq(which)   StringMembers::op_plus_eq_ ## which
 
 typedef StringMembers::OverloadId OverloadId;
 typedef StringMembers::TestCase   TestCase;
 typedef StringMembers::Test       Test;
 typedef StringMembers::Function   MemFun;
 
-/**************************************************************************/
-
-// for convenience and brevity
-#define LSTR   StringMembers::long_string
-#define LLEN   StringMembers::long_string_len
-
 static const char* const exceptions[] = {
     "unknown exception", "out_of_range", "length_error",
     "bad_alloc", "exception"
 };
 
-// used to exercise
-// operator += (const charT* s)
+/**************************************************************************/
+
+// exercises:
+// operator += (const value_type*)
 static const TestCase
 ptr_test_cases [] = {
 
@@ -119,8 +114,8 @@
 
 /**************************************************************************/
 
-// used to exercise
-// operator += (const basic_string& str)
+// exercises:
+// operator += (const basic_string&)
 static const TestCase
 str_test_cases [] = {
 
@@ -179,8 +174,8 @@
 
 /**************************************************************************/
 
-// used to exercise
-// operator+= (value_type c)
+// exercises:
+// operator+= (value_type)
 static const TestCase
 val_test_cases [] = {
 
@@ -258,27 +253,14 @@
     if (rg_calls)
         total_length_calls = rg_calls [UTMemFun::length];
 
-#ifndef _RWSTD_NO_REPLACEABLE_NEW_DELETE
-
     rwt_free_store* const pst = rwt_get_free_store (0);
 
-#endif   // _RWSTD_NO_REPLACEABLE_NEW_DELETE
-
     // iterate for`throw_after' starting at the next call to operator new,
     // forcing each call to throw an exception, until the function finally
     // succeeds (i.e, no exception is thrown)
     std::size_t throw_after;
     for (throw_after = 0; ; ++throw_after) {
 
-#ifndef _RWSTD_NO_EXCEPTIONS
-#  ifndef _RWSTD_NO_REPLACEABLE_NEW_DELETE
-
-        if (-1 == tcase.bthrow)
-            *pst->throw_at_calls_ [0] = pst->new_calls_ [0] + throw_after + 1;
-
-#  endif   // _RWSTD_NO_REPLACEABLE_NEW_DELETE
-#endif   // _RWSTD_NO_EXCEPTIONS
-
         // (name of) expected and caught exception
         const char* expected = 0;
         const char* caught   = 0;
@@ -287,8 +269,10 @@
 
         if (1 == tcase.bthrow)
             expected = exceptions [2];      // length_error
-        if (-1 == tcase.bthrow)
+        else if (-1 == tcase.bthrow) {
             expected = exceptions [3];      // bad_alloc
+            *pst->throw_at_calls_ [0] = pst->new_calls_ [0] + throw_after + 1;
+        }
 
 #else   // if defined (_RWSTD_NO_EXCEPTIONS)
 
@@ -416,8 +400,7 @@
         break;
     }
 
-#ifndef _RWSTD_NO_EXCEPTIONS
-#  ifndef _RWSTD_NO_REPLACEABLE_NEW_DELETE
+#ifndef _RWSTD_NO_REPLACEABLE_NEW_DELETE
 
     // verify that if exceptions are enabled and when capacity changes
     // at least one exception is thrown
@@ -427,16 +410,9 @@
                "line %d: %{$FUNCALL}: failed to throw an expected exception",
                __LINE__);
 
-    *pst->throw_at_calls_ [0] = std::size_t (-1);
-
-#  endif   // _RWSTD_NO_REPLACEABLE_NEW_DELETE
-#else   // if defined (_RWSTD_NO_EXCEPTIONS)
-
-    _RWSTD_UNUSED (pst);
-    _RWSTD_UNUSED (throw_after);
-
-#endif   // _RWSTD_NO_EXCEPTIONS
+#endif   // _RWSTD_NO_REPLACEABLE_NEW_DELETE
 
+    *pst->throw_at_calls_ [0] = std::size_t (-1);
 }
 
 /**************************************************************************/

Modified: incubator/stdcxx/trunk/tests/strings/21.string.replace.cpp
URL: http://svn.apache.org/viewcvs/incubator/stdcxx/trunk/tests/strings/21.string.replace.cpp?rev=399914&r1=399913&r2=399914&view=diff
==============================================================================
--- incubator/stdcxx/trunk/tests/strings/21.string.replace.cpp (original)
+++ incubator/stdcxx/trunk/tests/strings/21.string.replace.cpp Thu May  4 18:49:19 2006
@@ -27,32 +27,15 @@
 
 #include <string>       // for string
 #include <stdexcept>    // for out_of_range, length_error
-
 #include <cstddef>      // for size_t
 
+#include <21.strings.h>
+#include <alg_test.h>   // for InputIter
 #include <cmdopt.h>     // for rw_enabled()
 #include <driver.h>     // for rw_test()
-
-#include <alg_test.h>   // for InputIter
-#include <rw_printf.h>  // for rw_asnprintf()
 #include <rw_char.h>    // for rw_widen()
-
-#include <21.strings.h>
-
-#ifndef _RWSTD_NO_REPLACEABLE_NEW_DELETE
-   // disabled for compilers such as IBM VAC++ or MSVC
-   // that can't reliably replace the operators
-#  include <rw_new.h>   // for bad_alloc, replacement operator new
-#else
-#  include <new>        // for bad_alloc
-#endif   // _RWSTD_NO_REPLACEABLE_NEW_DELETE
-
-#define Replace(which)    StringMembers::replace_ ## which
-
-typedef StringMembers::OverloadId OverloadId;
-typedef StringMembers::TestCase   TestCase;
-typedef StringMembers::Test       Test;
-typedef StringMembers::Function   MemFun;
+#include <rw_new.h>     // for bad_alloc, replacement operator new
+#include <rw_printf.h>  // for rw_asnprintf()
 
 /**************************************************************************/
 
@@ -62,6 +45,12 @@
 // one half of the long_string length
 #define LPAR   (LLEN / 2)
 
+#define Replace(which)    StringMembers::replace_ ## which
+
+typedef StringMembers::OverloadId OverloadId;
+typedef StringMembers::TestCase   TestCase;
+typedef StringMembers::Test       Test;
+typedef StringMembers::Function   MemFun;
 
 static const char* const exceptions[] = {
     "unknown exception", "out_of_range", "length_error",
@@ -70,7 +59,7 @@
 
 /**************************************************************************/
 
-// used to exercise
+// exercises:
 // replace (size_type, size_type, const value_type*)
 // replace (iterator, iterator, const value_type*)
 static const TestCase
@@ -167,7 +156,7 @@
 
 /**************************************************************************/
 
-// used to exercise
+// exercises:
 // replace (size_type, size_type, const basic_string&)
 // replace (iterator, iterator, const basic_string&)
 static const TestCase
@@ -270,7 +259,7 @@
 
 /**************************************************************************/
 
-// used to exercise
+// exercises:
 // replace (size_type, size_type, const value_type*, size_type)
 // replace (iterator, iterator, const value_type*, size_type)
 static const TestCase
@@ -367,7 +356,7 @@
 
 /**************************************************************************/
 
-// used to exercise
+// exercises:
 // replace (size_type , size_type , basic_string& s, size_type , size_type )
 // replace (iterator, Iterator, InputIterator, InputIterator)
 static const TestCase
@@ -487,7 +476,7 @@
 
 /**************************************************************************/
 
-// used to exercise
+// exercises:
 // replace (size_type, size_type, value_type, size_type)
 // replace (iterator, iterator, size_type, value_type)
 static const TestCase
@@ -731,27 +720,14 @@
     if (rg_calls)
         total_length_calls = rg_calls [UTMemFun::length];
 
-#ifndef _RWSTD_NO_REPLACEABLE_NEW_DELETE
-
     rwt_free_store* const pst = rwt_get_free_store (0);
 
-#endif   // _RWSTD_NO_REPLACEABLE_NEW_DELETE
-
     // iterate for`throw_after' starting at the next call to operator new,
     // forcing each call to throw an exception, until the function finally
     // succeeds (i.e, no exception is thrown)
     std::size_t throw_after;
     for (throw_after = 0; ; ++throw_after) {
 
-#ifndef _RWSTD_NO_EXCEPTIONS
-#  ifndef _RWSTD_NO_REPLACEABLE_NEW_DELETE
-
-        if (-1 == tcase.bthrow)
-            *pst->throw_at_calls_ [0] = pst->new_calls_ [0] + throw_after + 1;
-
-#  endif   // _RWSTD_NO_REPLACEABLE_NEW_DELETE
-#endif   // _RWSTD_NO_EXCEPTIONS
-
         // (name of) expected and caught exception
         const char* expected = 0;
         const char* caught   = 0;
@@ -760,13 +736,15 @@
 
         if (1 == tcase.bthrow && !use_iters)
             expected = exceptions [1];      // out_of_range
-        if (2 == tcase.bthrow && Replace (size_size_str_size_size) == which)
+        else if (   2 == tcase.bthrow
+                 && Replace (size_size_str_size_size) == which)
             expected = exceptions [1];      // out_of_range
-        if (3 == tcase.bthrow && !use_iters)
+        else if (3 == tcase.bthrow && !use_iters)
             expected = exceptions [2];      // length_error
-        if (-1 == tcase.bthrow)
+        else if (-1 == tcase.bthrow) {
             expected = exceptions [3];      // bad_alloc
-
+            *pst->throw_at_calls_ [0] = pst->new_calls_ [0] + throw_after + 1;
+        }
 #else   // if defined (_RWSTD_NO_EXCEPTIONS)
 
         if (tcase.bthrow)
@@ -951,8 +929,7 @@
         break;
     }
 
-#ifndef _RWSTD_NO_EXCEPTIONS
-#  ifndef _RWSTD_NO_REPLACEABLE_NEW_DELETE
+#ifndef _RWSTD_NO_REPLACEABLE_NEW_DELETE
 
     // verify that if exceptions are enabled and when capacity changes
     // at least one exception is thrown
@@ -962,16 +939,9 @@
                "line %d: %{$FUNCALL}: failed to throw an expected exception",
                __LINE__);
 
-    *pst->throw_at_calls_ [0] = std::size_t (-1);
-
-#  endif   // _RWSTD_NO_REPLACEABLE_NEW_DELETE
-#else   // if defined (_RWSTD_NO_EXCEPTIONS)
-
-    _RWSTD_UNUSED (pst);
-    _RWSTD_UNUSED (throw_after);
-
-#endif   // _RWSTD_NO_EXCEPTIONS
+#endif   // _RWSTD_NO_REPLACEABLE_NEW_DELETE
 
+    *pst->throw_at_calls_ [0] = std::size_t (-1);
 }
 
 /**************************************************************************/



Mime
View raw message