summaryrefslogtreecommitdiff
path: root/external/bsd/libc++/dist/libcxx/src/stdexcept.cpp
diff options
context:
space:
mode:
authorjoerg <joerg@NetBSD.org>2014-01-08 17:15:24 +0000
committerjoerg <joerg@NetBSD.org>2014-01-08 17:15:24 +0000
commit5d774da975bd9405df03f71c2ec97bdabb6901a9 (patch)
tree479b82cd64181a43058eb8c9574c495149a1e902 /external/bsd/libc++/dist/libcxx/src/stdexcept.cpp
parent416dc4dc4fcf0b0175627766cea342506ddaaae6 (diff)
Import libc+++ r198773. Fixes a bug in stdexcept I introduced when
removing C style casts.
Diffstat (limited to 'external/bsd/libc++/dist/libcxx/src/stdexcept.cpp')
-rw-r--r--external/bsd/libc++/dist/libcxx/src/stdexcept.cpp32
1 files changed, 16 insertions, 16 deletions
diff --git a/external/bsd/libc++/dist/libcxx/src/stdexcept.cpp b/external/bsd/libc++/dist/libcxx/src/stdexcept.cpp
index acc938c86f4..01b66e4c8e0 100644
--- a/external/bsd/libc++/dist/libcxx/src/stdexcept.cpp
+++ b/external/bsd/libc++/dist/libcxx/src/stdexcept.cpp
@@ -102,28 +102,28 @@ namespace std // purposefully not using versioning namespace
logic_error::logic_error(const string& msg)
{
- __libcpp_nmstr *s = static_cast<__libcpp_nmstr *>(__imp_);
+ __libcpp_nmstr *s = reinterpret_cast<__libcpp_nmstr *>(&__imp_);
::new(s) __libcpp_nmstr(msg.c_str());
}
logic_error::logic_error(const char* msg)
{
- __libcpp_nmstr *s = static_cast<__libcpp_nmstr *>(__imp_);
+ __libcpp_nmstr *s = reinterpret_cast<__libcpp_nmstr *>(&__imp_);
::new(s) __libcpp_nmstr(msg);
}
logic_error::logic_error(const logic_error& le) _NOEXCEPT
{
- __libcpp_nmstr *s = static_cast<__libcpp_nmstr *>(__imp_);
- const __libcpp_nmstr *s2 = static_cast<const __libcpp_nmstr *>(le.__imp_);
+ __libcpp_nmstr *s = reinterpret_cast<__libcpp_nmstr *>(&__imp_);
+ const __libcpp_nmstr *s2 = reinterpret_cast<const __libcpp_nmstr *>(&le.__imp_);
::new(s) __libcpp_nmstr(*s2);
}
logic_error&
logic_error::operator=(const logic_error& le) _NOEXCEPT
{
- __libcpp_nmstr *s1 = static_cast<__libcpp_nmstr *>(__imp_);
- const __libcpp_nmstr *s2 = static_cast<const __libcpp_nmstr *>(le.__imp_);
+ __libcpp_nmstr *s1 = reinterpret_cast<__libcpp_nmstr *>(&__imp_);
+ const __libcpp_nmstr *s2 = reinterpret_cast<const __libcpp_nmstr *>(&le.__imp_);
*s1 = *s2;
return *this;
}
@@ -132,14 +132,14 @@ logic_error::operator=(const logic_error& le) _NOEXCEPT
logic_error::~logic_error() _NOEXCEPT
{
- __libcpp_nmstr *s = static_cast<__libcpp_nmstr *>(__imp_);
+ __libcpp_nmstr *s = reinterpret_cast<__libcpp_nmstr *>(&__imp_);
s->~__libcpp_nmstr();
}
const char*
logic_error::what() const _NOEXCEPT
{
- __libcpp_nmstr *s = static_cast<__libcpp_nmstr *>(__imp_);
+ const __libcpp_nmstr *s = reinterpret_cast<const __libcpp_nmstr *>(&__imp_);
return s->c_str();
}
@@ -147,28 +147,28 @@ logic_error::what() const _NOEXCEPT
runtime_error::runtime_error(const string& msg)
{
- __libcpp_nmstr *s = static_cast<__libcpp_nmstr *>(__imp_);
+ __libcpp_nmstr *s = reinterpret_cast<__libcpp_nmstr *>(&__imp_);
::new(s) __libcpp_nmstr(msg.c_str());
}
runtime_error::runtime_error(const char* msg)
{
- __libcpp_nmstr *s = static_cast<__libcpp_nmstr *>(__imp_);
+ __libcpp_nmstr *s = reinterpret_cast<__libcpp_nmstr *>(&__imp_);
::new(s) __libcpp_nmstr(msg);
}
runtime_error::runtime_error(const runtime_error& le) _NOEXCEPT
{
- __libcpp_nmstr *s = static_cast<__libcpp_nmstr *>(__imp_);
- const __libcpp_nmstr *s2 = static_cast<const __libcpp_nmstr *>(le.__imp_);
+ __libcpp_nmstr *s = reinterpret_cast<__libcpp_nmstr *>(&__imp_);
+ const __libcpp_nmstr *s2 = reinterpret_cast<const __libcpp_nmstr *>(&le.__imp_);
::new(s) __libcpp_nmstr(*s2);
}
runtime_error&
runtime_error::operator=(const runtime_error& le) _NOEXCEPT
{
- __libcpp_nmstr *s1 = static_cast<__libcpp_nmstr *>(__imp_);
- const __libcpp_nmstr *s2 = static_cast<const __libcpp_nmstr *>(le.__imp_);
+ __libcpp_nmstr *s1 = reinterpret_cast<__libcpp_nmstr *>(&__imp_);
+ const __libcpp_nmstr *s2 = reinterpret_cast<const __libcpp_nmstr *>(&le.__imp_);
*s1 = *s2;
return *this;
}
@@ -177,14 +177,14 @@ runtime_error::operator=(const runtime_error& le) _NOEXCEPT
runtime_error::~runtime_error() _NOEXCEPT
{
- __libcpp_nmstr *s = static_cast<__libcpp_nmstr *>(__imp_);
+ __libcpp_nmstr *s = reinterpret_cast<__libcpp_nmstr *>(&__imp_);
s->~__libcpp_nmstr();
}
const char*
runtime_error::what() const _NOEXCEPT
{
- __libcpp_nmstr *s = static_cast<__libcpp_nmstr *>(__imp_);
+ const __libcpp_nmstr *s = reinterpret_cast<const __libcpp_nmstr *>(&__imp_);
return s->c_str();
}