This fixes a problem using libstdc++ with clang, which doesn't
implicitly declare std::type_info as G++ does.

        PR libstdc++/56468
        * libsupc++/exception_ptr.h (type_info): Declare.

Tested x86_64-linux, committed to trunk.  This should be safe for
4.7.3 and 4.8.1 too.
commit 9bb199ddc55b1115a42ee98de057e101045218a8
Author: Jonathan Wakely <jwakely....@gmail.com>
Date:   Sat Mar 16 18:58:20 2013 +0000

        PR libstdc++/56468
        * libsupc++/exception_ptr.h (type_info): Declare.

diff --git a/libstdc++-v3/libsupc++/exception_ptr.h 
b/libstdc++-v3/libsupc++/exception_ptr.h
index 7a535f2..bbf8f85 100644
--- a/libstdc++-v3/libsupc++/exception_ptr.h
+++ b/libstdc++-v3/libsupc++/exception_ptr.h
@@ -44,6 +44,8 @@ extern "C++" {
 
 namespace std 
 {
+  class type_info;
+
   /**
    * @addtogroup exceptions
    * @{
@@ -141,7 +143,7 @@ namespace std
       operator==(const exception_ptr&, const exception_ptr&)
        _GLIBCXX_USE_NOEXCEPT __attribute__ ((__pure__));
 
-      const class type_info*
+      const class std::type_info*
       __cxa_exception_type() const _GLIBCXX_USE_NOEXCEPT
        __attribute__ ((__pure__));
     };

Reply via email to