mirror of git://gcc.gnu.org/git/gcc.git
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
This commit is contained in:
parent
38ee081588
commit
b939d4f696
|
|
@ -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>
|
2012-01-27 Benjamin Kosnik <bkoz@redhat.com>
|
||||||
Matthias Klose <doko@ubuntu.com>
|
Matthias Klose <doko@ubuntu.com>
|
||||||
|
|
||||||
|
|
|
||||||
|
|
@ -1,6 +1,6 @@
|
||||||
// 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 @@
|
||||||
// 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 @@
|
||||||
#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
|
||||||
#endif
|
#endif
|
||||||
#endif
|
#endif
|
||||||
|
|
||||||
namespace std
|
namespace std
|
||||||
{
|
{
|
||||||
/**
|
/**
|
||||||
* @brief Part of RTTI.
|
* @brief Part of RTTI.
|
||||||
|
|
@ -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
|
||||||
|
|
||||||
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
|
||||||
*
|
*
|
||||||
* 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
|
||||||
// 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
|
||||||
};
|
};
|
||||||
} // namespace std
|
} // namespace std
|
||||||
|
|
||||||
|
} // extern "C++"
|
||||||
|
|
||||||
#pragma GCC visibility pop
|
#pragma GCC visibility pop
|
||||||
|
|
||||||
} // extern "C++"
|
|
||||||
#endif
|
#endif
|
||||||
|
|
|
||||||
Loading…
Reference in New Issue