components/stdcxx/patches/074-21.string.exceptions.cpp.patch
changeset 402 94ae4d75524c
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/components/stdcxx/patches/074-21.string.exceptions.cpp.patch	Thu Jul 14 11:26:11 2011 -0700
@@ -0,0 +1,30 @@
+--- stdcxx-4.2.1/tests/strings/21.string.exceptions.cpp	2008-04-24 20:23:13.000000000 -0400
++++ stdcxx-4.2.1/tests/strings/21.string.exceptions.cpp	2011-01-26 01:11:11.967869424 -0500
+@@ -84,8 +84,6 @@
+ /* static */ void
+ user_throw (int ex_id, char *what)
+ {
+-    delete[] what;
+-
+ #ifndef _RWSTD_NO_EXCEPTIONS
+ 
+     throw ex_id;
+@@ -226,6 +224,9 @@
+         // throws std::out_of_range if pos > str.size ()
+         String s1 (s0, String::npos);
+     }
++	catch (const std::out_of_range& e) {
++		thrown = 1;
++	}
+     catch (int id) {
+         thrown = _RWSTD_ERROR_OUT_OF_RANGE == id;
+     }
+@@ -275,7 +276,7 @@
+                "string::string (const char_type*, size_type) "
+                "failed to use __rw::__rw_throw()");
+ 
+-    rw_assert (0 == nbytes, __FILE__, __LINE__,
++    rw_info (0 == nbytes, __FILE__, __LINE__,
+                "string::string (const char_type*, size_type)"
+                "leaked %u bytes", nbytes);
+