Commit b939d4f6 by Rafael Ávila de Espíndola Committed by Benjamin Kosnik

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
parent 38ee0815
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> 2012-01-27 Benjamin Kosnik <bkoz@redhat.com>
Matthias Klose <doko@ubuntu.com> Matthias Klose <doko@ubuntu.com>
......
// RTTI support for -*- C++ -*- // RTTI support for -*- C++ -*-
// Copyright (C) 1994, 1995, 1996, 1997, 1998, 1999, 2000, 2001, 2002, // 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 // Free Software Foundation
// //
// This file is part of GCC. // This file is part of GCC.
...@@ -9,12 +9,12 @@ ...@@ -9,12 +9,12 @@
// it under the terms of the GNU General Public License as published by // it under the terms of the GNU General Public License as published by
// the Free Software Foundation; either version 3, or (at your option) // the Free Software Foundation; either version 3, or (at your option)
// any later version. // any later version.
// //
// GCC is distributed in the hope that it will be useful, // GCC is distributed in the hope that it will be useful,
// but WITHOUT ANY WARRANTY; without even the implied warranty of // but WITHOUT ANY WARRANTY; without even the implied warranty of
// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the // MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
// GNU General Public License for more details. // GNU General Public License for more details.
// //
// Under Section 7 of GPL version 3, you are granted additional // Under Section 7 of GPL version 3, you are granted additional
// permissions described in the GCC Runtime Library Exception, version // permissions described in the GCC Runtime Library Exception, version
// 3.1, as published by the Free Software Foundation. // 3.1, as published by the Free Software Foundation.
...@@ -38,7 +38,6 @@ ...@@ -38,7 +38,6 @@
#include <bits/hash_bytes.h> #include <bits/hash_bytes.h>
#endif #endif
#pragma GCC visibility push(default) #pragma GCC visibility push(default)
extern "C++" { extern "C++" {
...@@ -80,7 +79,7 @@ namespace __cxxabiv1 ...@@ -80,7 +79,7 @@ namespace __cxxabiv1
#endif #endif
#endif #endif
namespace std namespace std
{ {
/** /**
* @brief Part of RTTI. * @brief Part of RTTI.
...@@ -88,7 +87,7 @@ namespace std ...@@ -88,7 +87,7 @@ namespace std
* The @c type_info class describes type information generated by * The @c type_info class describes type information generated by
* an implementation. * an implementation.
*/ */
class type_info class type_info
{ {
public: public:
/** Destructor first. Being the first non-inline virtual function, this /** Destructor first. Being the first non-inline virtual function, this
...@@ -172,9 +171,9 @@ namespace std ...@@ -172,9 +171,9 @@ namespace std
protected: protected:
const char *__name; const char *__name;
explicit type_info(const char *__n): __name(__n) { } explicit type_info(const char *__n): __name(__n) { }
private: private:
/// Assigning type_info is not supported. /// Assigning type_info is not supported.
type_info& operator=(const type_info&); type_info& operator=(const type_info&);
...@@ -187,7 +186,7 @@ namespace std ...@@ -187,7 +186,7 @@ namespace std
* *
* If you attempt an invalid @c dynamic_cast expression, an instance of * If you attempt an invalid @c dynamic_cast expression, an instance of
* this class (or something derived from this class) is thrown. */ * this class (or something derived from this class) is thrown. */
class bad_cast : public exception class bad_cast : public exception
{ {
public: public:
bad_cast() _GLIBCXX_USE_NOEXCEPT { } bad_cast() _GLIBCXX_USE_NOEXCEPT { }
...@@ -199,12 +198,12 @@ namespace std ...@@ -199,12 +198,12 @@ namespace std
// See comment in eh_exception.cc. // See comment in eh_exception.cc.
virtual const char* what() const _GLIBCXX_USE_NOEXCEPT; virtual const char* what() const _GLIBCXX_USE_NOEXCEPT;
}; };
/** /**
* @brief Thrown when a NULL pointer in a @c typeid expression is used. * @brief Thrown when a NULL pointer in a @c typeid expression is used.
* @ingroup exceptions * @ingroup exceptions
*/ */
class bad_typeid : public exception class bad_typeid : public exception
{ {
public: public:
bad_typeid () _GLIBCXX_USE_NOEXCEPT { } bad_typeid () _GLIBCXX_USE_NOEXCEPT { }
...@@ -218,7 +217,8 @@ namespace std ...@@ -218,7 +217,8 @@ namespace std
}; };
} // namespace std } // namespace std
} // extern "C++"
#pragma GCC visibility pop #pragma GCC visibility pop
} // extern "C++"
#endif #endif
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment