aboutsummaryrefslogtreecommitdiff
path: root/libstdc++-v3
diff options
context:
space:
mode:
authorJason Merrill <jason@redhat.com>2014-07-09 18:21:49 -0400
committerJason Merrill <jason@gcc.gnu.org>2014-07-09 18:21:49 -0400
commita6ea72bf8296fcb351b76e4f0c11763bc5ae1505 (patch)
treeade1c4c15fdc7664170cea55d36cff83e2d3cd49 /libstdc++-v3
parent84b64170630dee8583c444e6dbf9df00fe6e88b5 (diff)
downloadgcc-a6ea72bf8296fcb351b76e4f0c11763bc5ae1505.zip
gcc-a6ea72bf8296fcb351b76e4f0c11763bc5ae1505.tar.gz
gcc-a6ea72bf8296fcb351b76e4f0c11763bc5ae1505.tar.bz2
re PR libstdc++/61728 (lost symbol FUNC:_ZNK10__cxxabiv117__pbase_type_info15__pointer_catchEPKS0_PPvj@@CXXABI_1.3)
PR libstdc++/61728 * libsupc++/cxxabi.h: Define __pbase_type_info::__pointer_catch here. * libsupc++/tinfo.h: Not here. From-SVN: r212413
Diffstat (limited to 'libstdc++-v3')
-rw-r--r--libstdc++-v3/ChangeLog6
-rw-r--r--libstdc++-v3/libsupc++/cxxabi.h12
-rw-r--r--libstdc++-v3/libsupc++/tinfo.h8
3 files changed, 16 insertions, 10 deletions
diff --git a/libstdc++-v3/ChangeLog b/libstdc++-v3/ChangeLog
index 7e03e79..95c8aad 100644
--- a/libstdc++-v3/ChangeLog
+++ b/libstdc++-v3/ChangeLog
@@ -1,3 +1,9 @@
+2014-07-09 Jason Merrill <jason@redhat.com>
+
+ PR libstdc++/61728
+ * libsupc++/cxxabi.h: Define __pbase_type_info::__pointer_catch here.
+ * libsupc++/tinfo.h: Not here.
+
2014-07-08 Jonathan Wakely <jwakely@redhat.com>
* include/bits/allocated_ptr.h (__allocated_ptr::operator=): Add
diff --git a/libstdc++-v3/libsupc++/cxxabi.h b/libstdc++-v3/libsupc++/cxxabi.h
index 5b77aee..4d9458c 100644
--- a/libstdc++-v3/libsupc++/cxxabi.h
+++ b/libstdc++-v3/libsupc++/cxxabi.h
@@ -298,11 +298,19 @@ namespace __cxxabiv1
__do_catch(const std::type_info* __thr_type, void** __thr_obj,
unsigned int __outer) const;
- virtual bool
+ inline virtual bool
__pointer_catch(const __pbase_type_info* __thr_type, void** __thr_obj,
- unsigned __outer) const = 0;
+ unsigned __outer) const;
};
+ inline bool __pbase_type_info::
+ __pointer_catch (const __pbase_type_info *thrown_type,
+ void **thr_obj,
+ unsigned outer) const
+ {
+ return __pointee->__do_catch (thrown_type->__pointee, thr_obj, outer + 2);
+ }
+
// Type information for simple pointers.
class __pointer_type_info : public __pbase_type_info
{
diff --git a/libstdc++-v3/libsupc++/tinfo.h b/libstdc++-v3/libsupc++/tinfo.h
index 7c55f02..3421a5c 100644
--- a/libstdc++-v3/libsupc++/tinfo.h
+++ b/libstdc++-v3/libsupc++/tinfo.h
@@ -31,14 +31,6 @@
namespace __cxxabiv1 {
-inline bool __pbase_type_info::
-__pointer_catch (const __pbase_type_info *thrown_type,
- void **thr_obj,
- unsigned outer) const
-{
- return __pointee->__do_catch (thrown_type->__pointee, thr_obj, outer + 2);
-}
-
namespace {
using namespace std;