From b939d4f696ab25c3bfab64a779fd8749a67a470c Mon Sep 17 00:00:00 2001
From: =?UTF-8?q?Rafael=20=C3=81vila=20de=20Esp=C3=ADndola?=
 <rafael.espindola@gmail.com>
Date: Fri, 27 Jan 2012 19:38:56 +0000
Subject: [PATCH] typeinfo: Correctly match #pragma GCC visibility pop with
 #pragma GCC visibility push.

2011-01-27  Rafael Avila de Espindola  <rafael.espindola@gmail.com>

	* libsupc++/typeinfo: Correctly match #pragma GCC visibility
	pop with #pragma GCC visibility push.

From-SVN: r183641
---
 libstdc++-v3/ChangeLog          |  5 +++++
 libstdc++-v3/libsupc++/typeinfo | 26 +++++++++++++-------------
 2 files changed, 18 insertions(+), 13 deletions(-)

diff --git a/libstdc++-v3/ChangeLog b/libstdc++-v3/ChangeLog
index 923708f8a38b..0a455335ad7e 100644
--- a/libstdc++-v3/ChangeLog
+++ b/libstdc++-v3/ChangeLog
@@ -1,3 +1,8 @@
+2011-01-27  Rafael Avila de Espindola  <rafael.espindola@gmail.com>
+
+	* libsupc++/typeinfo: Correctly match #pragma GCC visibility
+	pop with #pragma GCC visibility push.
+
 2012-01-27  Benjamin Kosnik  <bkoz@redhat.com>
 	    Matthias Klose  <doko@ubuntu.com>
 
diff --git a/libstdc++-v3/libsupc++/typeinfo b/libstdc++-v3/libsupc++/typeinfo
index aaa756bfebcd..f0382d64f765 100644
--- a/libstdc++-v3/libsupc++/typeinfo
+++ b/libstdc++-v3/libsupc++/typeinfo
@@ -1,6 +1,6 @@
 // RTTI support for -*- C++ -*-
 // Copyright (C) 1994, 1995, 1996, 1997, 1998, 1999, 2000, 2001, 2002,
-// 2003, 2004, 2005, 2006, 2007, 2009, 2010, 2011
+// 2003, 2004, 2005, 2006, 2007, 2009, 2010, 2011, 2012
 // Free Software Foundation
 //
 // This file is part of GCC.
@@ -9,12 +9,12 @@
 // it under the terms of the GNU General Public License as published by
 // the Free Software Foundation; either version 3, or (at your option)
 // any later version.
-// 
+//
 // GCC is distributed in the hope that it will be useful,
 // but WITHOUT ANY WARRANTY; without even the implied warranty of
 // MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
 // GNU General Public License for more details.
-// 
+//
 // Under Section 7 of GPL version 3, you are granted additional
 // permissions described in the GCC Runtime Library Exception, version
 // 3.1, as published by the Free Software Foundation.
@@ -38,7 +38,6 @@
 #include <bits/hash_bytes.h>
 #endif
 
-
 #pragma GCC visibility push(default)
 
 extern "C++" {
@@ -80,7 +79,7 @@ namespace __cxxabiv1
   #endif
 #endif
 
-namespace std 
+namespace std
 {
   /**
    *  @brief  Part of RTTI.
@@ -88,7 +87,7 @@ namespace std
    *  The @c type_info class describes type information generated by
    *  an implementation.
   */
-  class type_info 
+  class type_info
   {
   public:
     /** Destructor first. Being the first non-inline virtual function, this
@@ -172,9 +171,9 @@ namespace std
 
   protected:
     const char *__name;
-    
+
     explicit type_info(const char *__n): __name(__n) { }
-    
+
   private:
     /// Assigning type_info is not supported.
     type_info& operator=(const type_info&);
@@ -187,7 +186,7 @@ namespace std
    *
    *  If you attempt an invalid @c dynamic_cast expression, an instance of
    *  this class (or something derived from this class) is thrown.  */
-  class bad_cast : public exception 
+  class bad_cast : public exception
   {
   public:
     bad_cast() _GLIBCXX_USE_NOEXCEPT { }
@@ -199,12 +198,12 @@ namespace std
     // See comment in eh_exception.cc.
     virtual const char* what() const _GLIBCXX_USE_NOEXCEPT;
   };
-  
-  /** 
+
+  /**
    *  @brief Thrown when a NULL pointer in a @c typeid expression is used.
    *  @ingroup exceptions
    */
-  class bad_typeid : public exception 
+  class bad_typeid : public exception
   {
   public:
     bad_typeid () _GLIBCXX_USE_NOEXCEPT { }
@@ -218,7 +217,8 @@ namespace std
   };
 } // namespace std
 
+} // extern "C++"
+
 #pragma GCC visibility pop
 
-} // extern "C++"
 #endif
-- 
GitLab