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>
Matthias Klose <doko@ubuntu.com>
......
// 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
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