mirror of git://gcc.gnu.org/git/gcc.git
				
				
				
			re PR c++/65046 (-Wabi-tag doesn't warn about variables or function return types)
PR c++/65046 * config/locale/gnu/messages_members.cc (Catalog_info, Catalogs, get_catalogs): Add abi-tag. * include/ext/codecvt_specializations.h (encoding_state, encoding_char_traits): Likewise. * src/c++11/cxx11-ios_failure.cc (io_error_category): Likewise. * src/c++11/cxx11-shim_facets.cc (__any_string::operator basic_string, numpunct_shim, collate_shim, time_get_shim, moneypunct_shim, money_get_shim, money_put_shim, messages_shim): Likewise. * src/c++11/future.cc (future_error_category::message): Likewise. * src/c++11/system_error.cc (generic_error_category::message, system_error_category::message): Likewise. (__sso_string): Disable -Wabi-tag warnings. From-SVN: r221497
This commit is contained in:
		
							parent
							
								
									2a9611d03b
								
							
						
					
					
						commit
						168ad5f5e3
					
				|  | @ -1,3 +1,19 @@ | |||
| 2015-03-18  Jonathan Wakely  <jwakely@redhat.com> | ||||
| 
 | ||||
| 	PR c++/65046 | ||||
| 	* config/locale/gnu/messages_members.cc (Catalog_info, Catalogs, | ||||
| 	get_catalogs): Add abi-tag. | ||||
| 	* include/ext/codecvt_specializations.h (encoding_state, | ||||
| 	encoding_char_traits): Likewise. | ||||
| 	* src/c++11/cxx11-ios_failure.cc (io_error_category): Likewise. | ||||
| 	* src/c++11/cxx11-shim_facets.cc (__any_string::operator basic_string, | ||||
| 	numpunct_shim, collate_shim, time_get_shim, moneypunct_shim, | ||||
| 	money_get_shim, money_put_shim, messages_shim): Likewise. | ||||
| 	* src/c++11/future.cc (future_error_category::message): Likewise. | ||||
| 	* src/c++11/system_error.cc (generic_error_category::message, | ||||
| 	system_error_category::message): Likewise. | ||||
| 	(__sso_string): Disable -Wabi-tag warnings. | ||||
| 
 | ||||
| 2015-03-18  Jonathan Wakely  <jwakely@redhat.com> | ||||
| 
 | ||||
| 	PR libstdc++/13631 | ||||
|  |  | |||
|  | @ -46,7 +46,7 @@ namespace | |||
| 
 | ||||
|   typedef messages_base::catalog catalog; | ||||
| 
 | ||||
|   struct Catalog_info | ||||
|   struct _GLIBCXX_DEFAULT_ABI_TAG Catalog_info | ||||
|   { | ||||
|     Catalog_info(catalog __id, const string& __domain, locale __loc) | ||||
|       : _M_id(__id), _M_domain(__domain), _M_locale(__loc) | ||||
|  | @ -57,7 +57,7 @@ namespace | |||
|     locale _M_locale; | ||||
|   }; | ||||
| 
 | ||||
|   class Catalogs | ||||
|   class _GLIBCXX_DEFAULT_ABI_TAG Catalogs | ||||
|   { | ||||
|   public: | ||||
|     Catalogs() : _M_catalog_counter(0) { } | ||||
|  | @ -133,6 +133,7 @@ namespace | |||
|     std::vector<Catalog_info*> _M_infos; | ||||
|   }; | ||||
| 
 | ||||
|   _GLIBCXX_DEFAULT_ABI_TAG | ||||
|   Catalogs& | ||||
|   get_catalogs() | ||||
|   { | ||||
|  |  | |||
|  | @ -47,7 +47,7 @@ _GLIBCXX_BEGIN_NAMESPACE_VERSION | |||
|   // This includes conversions and comparisons between various character
 | ||||
|   // sets.  This object encapsulates data that may need to be shared between
 | ||||
|   // char_traits, codecvt and ctype.
 | ||||
|   class encoding_state | ||||
|   class _GLIBCXX_DEFAULT_ABI_TAG encoding_state | ||||
|   { | ||||
|   public: | ||||
|     // Types: 
 | ||||
|  | @ -207,7 +207,8 @@ _GLIBCXX_BEGIN_NAMESPACE_VERSION | |||
|   // associated fpos<encoding_state> for the position type, all other
 | ||||
|   // bits equivalent to the required char_traits instantiations.
 | ||||
|   template<typename _CharT> | ||||
|     struct encoding_char_traits : public std::char_traits<_CharT> | ||||
|     struct _GLIBCXX_DEFAULT_ABI_TAG encoding_char_traits | ||||
|     : public std::char_traits<_CharT> | ||||
|     { | ||||
|       typedef encoding_state				state_type; | ||||
|       typedef typename std::fpos<state_type>		pos_type; | ||||
|  |  | |||
|  | @ -41,6 +41,7 @@ namespace | |||
|     name() const noexcept | ||||
|     { return "iostream"; } | ||||
| 
 | ||||
|     _GLIBCXX_DEFAULT_ABI_TAG | ||||
|     virtual std::string message(int __ec) const | ||||
|     { | ||||
|       std::string __msg; | ||||
|  |  | |||
|  | @ -147,6 +147,7 @@ _GLIBCXX_BEGIN_NAMESPACE_VERSION | |||
|     // The returned object will match the caller's string ABI, even when the
 | ||||
|     // stored string doesn't.
 | ||||
|     template<typename C> | ||||
|       _GLIBCXX_DEFAULT_ABI_TAG | ||||
|       operator basic_string<C>() const | ||||
|       { | ||||
| 	if (!_M_dtor) | ||||
|  | @ -226,7 +227,8 @@ _GLIBCXX_BEGIN_NAMESPACE_VERSION | |||
|   namespace // unnamed
 | ||||
|   { | ||||
|     template<typename _CharT> | ||||
|       struct numpunct_shim : std::numpunct<_CharT>, facet::__shim | ||||
|       struct _GLIBCXX_DEFAULT_ABI_TAG numpunct_shim | ||||
|       : std::numpunct<_CharT>, facet::__shim | ||||
|       { | ||||
| 	typedef typename numpunct<_CharT>::__cache_type __cache_type; | ||||
| 
 | ||||
|  | @ -250,7 +252,8 @@ _GLIBCXX_BEGIN_NAMESPACE_VERSION | |||
|       }; | ||||
| 
 | ||||
|     template<typename _CharT> | ||||
|       struct collate_shim : std::collate<_CharT>, facet::__shim | ||||
|       struct _GLIBCXX_DEFAULT_ABI_TAG collate_shim | ||||
|       : std::collate<_CharT>, facet::__shim | ||||
|       { | ||||
| 	typedef basic_string<_CharT>	string_type; | ||||
| 
 | ||||
|  | @ -275,7 +278,8 @@ _GLIBCXX_BEGIN_NAMESPACE_VERSION | |||
|       }; | ||||
| 
 | ||||
|     template<typename _CharT> | ||||
|       struct time_get_shim : std::time_get<_CharT>, facet::__shim | ||||
|       struct _GLIBCXX_DEFAULT_ABI_TAG time_get_shim | ||||
|       : std::time_get<_CharT>, facet::__shim | ||||
|       { | ||||
| 	typedef typename std::time_get<_CharT>::iter_type iter_type; | ||||
| 	typedef typename std::time_get<_CharT>::char_type char_type; | ||||
|  | @ -329,7 +333,8 @@ _GLIBCXX_BEGIN_NAMESPACE_VERSION | |||
|       }; | ||||
| 
 | ||||
|     template<typename _CharT, bool _Intl> | ||||
|       struct moneypunct_shim : std::moneypunct<_CharT, _Intl>, facet::__shim | ||||
|       struct _GLIBCXX_DEFAULT_ABI_TAG moneypunct_shim | ||||
|       : std::moneypunct<_CharT, _Intl>, facet::__shim | ||||
|       { | ||||
| 	typedef typename moneypunct<_CharT, _Intl>::__cache_type __cache_type; | ||||
| 
 | ||||
|  | @ -356,7 +361,8 @@ _GLIBCXX_BEGIN_NAMESPACE_VERSION | |||
|       }; | ||||
| 
 | ||||
|     template<typename _CharT> | ||||
|       struct money_get_shim : std::money_get<_CharT>, facet::__shim | ||||
|       struct _GLIBCXX_DEFAULT_ABI_TAG money_get_shim | ||||
|       : std::money_get<_CharT>, facet::__shim | ||||
|       { | ||||
| 	typedef typename std::money_get<_CharT>::iter_type iter_type; | ||||
| 	typedef typename std::money_get<_CharT>::char_type char_type; | ||||
|  | @ -397,7 +403,8 @@ _GLIBCXX_BEGIN_NAMESPACE_VERSION | |||
|       }; | ||||
| 
 | ||||
|     template<typename _CharT> | ||||
|       struct money_put_shim : std::money_put<_CharT>, facet::__shim | ||||
|       struct _GLIBCXX_DEFAULT_ABI_TAG money_put_shim | ||||
|       : std::money_put<_CharT>, facet::__shim | ||||
|       { | ||||
| 	typedef typename std::money_put<_CharT>::iter_type iter_type; | ||||
| 	typedef typename std::money_put<_CharT>::char_type char_type; | ||||
|  | @ -426,7 +433,8 @@ _GLIBCXX_BEGIN_NAMESPACE_VERSION | |||
|       }; | ||||
| 
 | ||||
|     template<typename _CharT> | ||||
|       struct messages_shim : std::messages<_CharT>, facet::__shim | ||||
|       struct _GLIBCXX_DEFAULT_ABI_TAG messages_shim | ||||
|       : std::messages<_CharT>, facet::__shim | ||||
|       { | ||||
| 	typedef messages_base::catalog  catalog; | ||||
| 	typedef basic_string<_CharT>	string_type; | ||||
|  |  | |||
|  | @ -32,6 +32,7 @@ namespace | |||
|     name() const noexcept | ||||
|     { return "future"; } | ||||
| 
 | ||||
|     _GLIBCXX_DEFAULT_ABI_TAG | ||||
|     virtual std::string message(int __ec) const | ||||
|     { | ||||
|       std::string __msg; | ||||
|  |  | |||
|  | @ -41,6 +41,7 @@ namespace | |||
|     name() const noexcept | ||||
|     { return "generic"; } | ||||
| 
 | ||||
|     _GLIBCXX_DEFAULT_ABI_TAG | ||||
|     virtual string  | ||||
|     message(int i) const | ||||
|     { | ||||
|  | @ -56,6 +57,7 @@ namespace | |||
|     name() const noexcept | ||||
|     { return "system"; } | ||||
| 
 | ||||
|     _GLIBCXX_DEFAULT_ABI_TAG | ||||
|     virtual string | ||||
|     message(int i) const | ||||
|     { | ||||
|  | @ -111,6 +113,8 @@ _GLIBCXX_BEGIN_NAMESPACE_VERSION | |||
| #endif | ||||
| 
 | ||||
| #if _GLIBCXX_USE_DUAL_ABI | ||||
| #pragma GCC diagnostic push | ||||
| #pragma GCC diagnostic ignored "-Wabi-tag" | ||||
|   // Redefine __sso_string so that we can define and export its members
 | ||||
|   // in terms of the SSO std::string.
 | ||||
|   struct __sso_string | ||||
|  | @ -137,6 +141,7 @@ _GLIBCXX_BEGIN_NAMESPACE_VERSION | |||
|     __sso_string(__sso_string&&) noexcept; | ||||
|     __sso_string& operator=(__sso_string&&) noexcept; | ||||
|   }; | ||||
| #pragma GCC diagnostic pop | ||||
| 
 | ||||
|   __sso_string::__sso_string() : _M_str() { } | ||||
| 
 | ||||
|  |  | |||
		Loading…
	
		Reference in New Issue
	
	 Jonathan Wakely
						Jonathan Wakely