aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorRafael Ávila de Espíndola <rafael.espindola@gmail.com>2012-01-27 19:38:56 +0000
committerBenjamin Kosnik <bkoz@gcc.gnu.org>2012-01-27 19:38:56 +0000
commitb939d4f696ab25c3bfab64a779fd8749a67a470c (patch)
treeb29e5508ec732924182811f7efeb1c20c3a624c1
parent38ee08158813b3e8c5191017af03ed5d21a12f63 (diff)
downloadgcc-b939d4f696ab25c3bfab64a779fd8749a67a470c.zip
gcc-b939d4f696ab25c3bfab64a779fd8749a67a470c.tar.gz
gcc-b939d4f696ab25c3bfab64a779fd8749a67a470c.tar.bz2
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
-rw-r--r--libstdc++-v3/ChangeLog5
-rw-r--r--libstdc++-v3/libsupc++/typeinfo26
2 files changed, 18 insertions, 13 deletions
diff --git a/libstdc++-v3/ChangeLog b/libstdc++-v3/ChangeLog
index 923708f..0a45533 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 aaa756b..f0382d6 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