std_stdexcept.h (logic_error::logic_error): Use string object, not reference.
authorBenjamin Kosnik <bkoz@gcc.gnu.org>
Tue, 27 Feb 2001 04:28:36 +0000 (04:28 +0000)
committerBenjamin Kosnik <bkoz@gcc.gnu.org>
Tue, 27 Feb 2001 04:28:36 +0000 (04:28 +0000)
2001-02-26  Benjamin Kosnik  <bkoz@redhat.com>

libstdc++/1972
libstdc++/2089
* include/bits/std_stdexcept.h (logic_error::logic_error): Use
string object, not reference.
(runtime_error::runtime_error): Same.

From-SVN: r40082

libstdc++-v3/testsuite/19_diagnostics/stdexceptions.cc

index ac56b594ab2baf77f3cb2198071aa6e92d45b691..6969ae19e95640a27237d2249fa5268b5fc81262 100644 (file)
 void test01()
 {
   bool test = true;
-  const char* strlit = "lack of sunlight, no water error";
+  std::string s("lack of sunlight, no water error");
   // XXX work around long-standing, pathalogical, hostility-inducing parser bug
   // std::logic_error obj(std::string(strlit));
 
   // 1
-  std::logic_error obj = std::logic_error(std::string(strlit));
+  std::logic_error obj = std::logic_error(s);
 
   // 2
   // std::logic_error obj((std::string)strlit);
 
-  VERIFY( strcmp(obj.what(), strlit) );
+  VERIFY( strcmp(obj.what(), s.data()) );
 }
 
 void test02()
 {
   bool test = true;
-  std::string s = "lack of sunlight error";
+  std::string s("lack of sunlight error");
   std::domain_error x(s);
   
   VERIFY( strcmp(x.what(), s.data())  );