// PR c++/82836 // { dg-do compile { target c++17 } } // { dg-require-effective-target int128 } // { dg-require-effective-target __float128 } // { dg-additional-options "-Wno-pedantic -Wno-return-type" } // { dg-add-options __float128 } // We were resetting DECL_ASSEMBLER_NAME when processing pragma weak, // breaking C++'s mangling alias hash table. That hash table needs to // be tickled in just the right way to hit the problem. namespace std { typedef __SIZE_TYPE__ size_t; inline namespace __cxx11 {} double abs() {return 0;} __int128 abs(__int128 ) {return 0;} __float128 abs(__float128 ) {return 0;} #pragma weak pthread_create typedef int luaL_Reg; typedef int swig_lua_const_info; typedef int swig_lua_attribute; typedef int swig_lua_class; } static int swig_types; static int swig_module; namespace std { template < typename > class allocator; template < class > struct char_traits; namespace __cxx11 { template < typename _CharT, typename = _CharT , typename = _CharT > class basic_string; typedef basic_string< char > string; } } namespace __gnu_cxx { template < typename > struct __numeric_traits_integer; struct __conditional_type { typedef __numeric_traits_integer< int > __type; }__is_null_pointer0; template < typename _Value > struct __numeric_traits_integer { static const _Value __min = 0; static const _Value __max = 0; }; template < typename _Value > const _Value __numeric_traits_integer< _Value >::__min; template < typename _Value > const _Value __numeric_traits_integer< _Value >::__max; template < typename > struct __numeric_traits : __conditional_type::__type {}; } namespace std { template < typename _Tp, _Tp __v > struct integral_constant { static constexpr _Tp value = __v; }; template < typename _Tp, _Tp __v > constexpr _Tp integral_constant< _Tp, __v >::value; typedef integral_constant< bool, false > false_type; struct __is_void_helper : false_type {}; struct is_void : __is_void_helper{}; template < int > struct conditional ; template < typename , typename , template < typename... > class > struct __detector { ; }; template < typename _Default, template < typename > class _Op> using __detected_or = __detector< _Default, void, _Op>; template < typename _Default, template < typename> class _Op > using __detected_or_t = typename __detected_or< _Default, _Op>::type; struct {}piecewise_construct ; struct random_access_iterator_tag ; template < typename , typename > struct iterator { typedef int difference_type; typedef int reference; }; using __make_not_void = conditional< is_void::value >; struct pointer_traits ; template <> struct char_traits< char > { typedef char char_type; typedef int int_type; void assign() {} bool eq() {return 0;} bool lt() {return 0;} int compare() {return 0;} size_t length() {return 0;} char_type find() {return 0;} char_type move() {return 0;} char_type copy() {return 0;} char_type assign(char_type ) {return 0;} char_type to_char_type() {return 0;} int_type to_int_type() {return 0;} bool eq_int_type() {return 0;} int_type eof() {return 0;} int_type not_eof() {return 0;} }; template <> struct char_traits< wchar_t > { typedef wchar_t char_type; typedef int int_type; void assign() {} bool eq() {return 0;} bool lt() {return 0;} int compare() {return 0;} size_t length() {return 0;} char_type find() {return 0;} char_type move() {return 0;} char_type copy() {return 0;} char_type assign(char_type ) {return 0;} char_type to_char_type() {return 0;} int_type to_int_type() {return 0;} bool eq_int_type() {return 0;} int_type eof() {return 0;} int_type not_eof() {return 0;} }; } typedef int uint_least16_t; typedef int uint_least32_t; namespace std { template <> struct char_traits< char16_t > { typedef char16_t char_type; typedef uint_least16_t int_type; void assign() {} bool eq() {return false;} bool lt() {return false;} int compare() {return 0;} size_t length() {return 0;} char_type find() {return 0;} char_type move() {return 0;} char_type copy() {return 0;} char_type assign(char_type ) {return 0;} char_type to_char_type() {return 0;} int_type to_int_type() {return 0;} bool eq_int_type() {return false;} int_type eof() {return 0;} int_type not_eof() {return 0;} }; template <> struct char_traits< char32_t > { typedef char32_t char_type; typedef uint_least32_t int_type; void assign() {} bool eq() {return false;} bool lt() {return false;} int compare() {return 0;} size_t length() {return 0;} char_type find() {return 0;} char_type move() {return 0;} char_type copy() {return 0;} char_type assign(char_type ) {return 0;} char_type to_char_type() {return 0;} int_type to_int_type() {return 0;} bool eq_int_type() {return false;} int_type eof() {return 0;} int_type not_eof() {return 0;} }; } void *operator new(std::size_t) {return (void *)1;} void *operator new[](std::size_t) {return (void *)1;} void operator delete(void *){} void operator delete[](void *) {} namespace { ; } namespace std { template < typename > class allocator { public: ~allocator(); } ; template < typename _Tp > struct less { bool operator()( _Tp , _Tp ) {return false;} }; } typedef int _Atomic_word; namespace { _Atomic_word __exchange_and_add_single0; static void __atomic_add_single(); _Atomic_word __attribute____exchange_and_add_dispatch0; static void __attribute____atomic_add_dispatch(); } namespace std { struct __allocator_traits_base { template < typename = void > struct __rebind { using type = allocator< char >; } ; }; template < typename , typename > using __alloc_rebind = __allocator_traits_base::__rebind<>::type; template < typename > struct allocator_traits { template < typename _Tp > using rebind_alloc = __alloc_rebind< char , _Tp >; }; } namespace __gnu_cxx { template < typename > struct __alloc_traits : std::allocator_traits< std::allocator< char > > { template < typename > struct rebind { typedef rebind_alloc< int > other; }; }; } namespace std { namespace __cxx11 { template < typename , typename , typename > class basic_string { typedef __gnu_cxx::__alloc_traits< char >:: rebind< int >::other _Char_alloc_type ; struct : _Char_alloc_type {}_M_dataplus; int _S_compare() { if (__gnu_cxx::__numeric_traits< int >::__max) (__gnu_cxx::__numeric_traits< int >::__min) ; return 0; } }; } template < typename _CharT, typename _Traits, typename _Alloc > basic_string< _Traits> operator+( basic_string< _Alloc > ); template < typename _CharT, typename _Traits, typename _Alloc > basic_string< _Traits> operator+( _Alloc ); template < typename _CharT, typename _Traits, typename _Alloc > basic_string< _Traits> operator+( _Alloc ); template < typename , typename > struct __hash_base ; template < typename > struct hash; template <> struct hash< char > { void operator0() {} }; template <> struct hash< signed char > { void operator0() {} }; template <> struct hash< unsigned char > { void operator0() {} }; template <> struct hash< wchar_t > { void operator0() {} }; template <> struct __hash_base< size_t, char16_t > { size_t operator0() {return 0;} }; template <> struct __hash_base< size_t, char32_t > { size_t operator0() {return 0;} }; template <> struct hash< short > { void operator0() {} }; template <> struct hash< int > { void operator0() {} }; template <> struct hash< long > { void operator0() {} }; template <> struct hash< long long > { void operator0() {} }; template <> struct hash< unsigned short > { void operator0() {} }; template <> struct hash< unsigned > { void operator0() {} }; template <> struct hash< unsigned long > { void operator0() {} }; template <> struct hash< unsigned long long > { void operator0() {} }; template <> struct hash< __int128 > { void operator0() {} }; template <> struct hash< __int128 unsigned > { void operator0() {} }; typedef long _Bit_type; struct _Bit_reference { ; _Bit_type _M_mask; _Bit_reference () {} operator bool() {return false;} _Bit_reference (bool ) {} _Bit_reference operator=(_Bit_reference ) {return *this;} bool operator==(_Bit_reference ) {return false;} bool operator<(_Bit_reference ) {return false;} void flip() {} }; void swap() {} void swap(bool ) {} void swap(_Bit_reference ) {} struct _Bit_iterator_base :iterator< random_access_iterator_tag, bool > { _Bit_type *_M_p; int _M_offset; _Bit_iterator_base(_Bit_type *, int _M_offset) {} void _M_bump_up() {} void _M_bump_down() {} void _M_incr() {} bool operator==(_Bit_iterator_base ) {return false;} bool operator<(_Bit_iterator_base ) {return false;} bool operator!=(_Bit_iterator_base ) {return false;} bool operator>(_Bit_iterator_base ) {return false;} bool operator<=(_Bit_iterator_base ) {return false;} bool operator>=(_Bit_iterator_base ) {return false;} }; struct _Bit_iterator : _Bit_iterator_base { _Bit_iterator() : _Bit_iterator_base(0, 0) {} _Bit_iterator(_Bit_type *__x, int __y) : _Bit_iterator_base(__x, __y) {} iterator _M_const_cast() {return iterator ();} iterator operator+() {return iterator ();} iterator operator-() {return iterator ();} reference operator[](difference_type ) {return 0;} }; void operator+(_Bit_iterator ) {} struct _Bit_const_iterator : _Bit_iterator_base { _Bit_const_iterator() : _Bit_iterator_base(0, 0) {} _Bit_type _Bit_const_iterator___x; _Bit_const_iterator(int __y) : _Bit_iterator_base(&_Bit_const_iterator___x, __y) {} _Bit_const_iterator(_Bit_iterator __x) : _Bit_iterator_base(_M_p, _M_offset) {} void _M_const_cast() {} void operator*() {} void operator++() {} void operator++(int) {} void operator--() {} }; class runtime_error { public: runtime_error(const string ); }; inline namespace _V2 { class error_category { bool operator<(error_category __other) { less< error_category * >()(this, &__other); return false; } bool operator==(error_category ) {return false;} bool operator!=(error_category ) {return false;} }; } struct error_code { error_code() : _M_cat() {} error_code(error_category ) : _M_cat() {} void assign() {} void clear() {} int value() {return 0;} error_category category() {return error_category ();} string message() {return string();} error_category _M_cat; }; inline error_code make_error_code() noexcept {return error_code ();} inline bool operator<(const error_code , const error_code ) noexcept {return false;} struct error_condition { error_condition() {} error_condition(const error_category ) {} void assign() noexcept {} void clear() noexcept {} int value() {return 0;} const error_category category() {return error_category ();} string message_M_cat; }; inline error_condition make_error_condition() noexcept {return error_condition ();} inline bool operator<(const error_condition , const error_condition ) noexcept {return false;} inline bool operator==(const error_code , const error_code ) noexcept {return false;} inline bool operator==(const error_code , const error_condition ) noexcept {return false;} inline bool operator==(const error_condition , const error_code ) noexcept {return false;} inline bool operator==(const error_condition , const error_condition ) noexcept {return false;} inline bool operator!=(const error_code , const error_code ) noexcept {return false;} inline bool operator!=(const error_code , const error_condition ) noexcept {return false;} inline bool operator!=(const error_condition , const error_code ) noexcept {return false;} inline bool operator!=(const error_condition , const error_condition ) noexcept {return false;} class system_error : public runtime_error { error_code _M_code; system_error(error_code __ec = error_code()) : runtime_error(__ec.message()) {} system_error(error_code __ec, const string &__what) : runtime_error(__ec.message()) {} system_error(error_code __ec, const char *__what) : runtime_error((__ec.message())) {} system_error(const char ) : system_error() {} system_error(const error_category ) : runtime_error(error_code().message()) {} system_error(const string &__what) : runtime_error(error_code().message()) {} const error_code code() {return error_code ();} void operator0() {} }; enum _Ios_Fmtflags {}; _Ios_Fmtflags operator&(_Ios_Fmtflags &__a) {return __a;} _Ios_Fmtflags operator|(_Ios_Fmtflags &__a, _Ios_Fmtflags __b) {return __a;} _Ios_Fmtflags operator^(_Ios_Fmtflags &__a, _Ios_Fmtflags __b) {return __a;} _Ios_Fmtflags operator~(_Ios_Fmtflags &__a) {return __a;} _Ios_Fmtflags &operator|=(_Ios_Fmtflags &__a, _Ios_Fmtflags __b) {return __a;} _Ios_Fmtflags &operator&=(_Ios_Fmtflags &__a, _Ios_Fmtflags __b) {return __a;} _Ios_Fmtflags &operator^=(_Ios_Fmtflags &__a, _Ios_Fmtflags __b) {return __a;} enum _Ios_Openmode { _S_ios_openmode_max }; _Ios_Openmode operator&(_Ios_Openmode &__a__b) {return __a__b;} _Ios_Openmode operator|(_Ios_Openmode &__a, _Ios_Openmode __b) {return __a;} _Ios_Openmode operator^(_Ios_Openmode &__a, _Ios_Openmode __b) {return __a;} _Ios_Openmode operator~(_Ios_Openmode &__a) {return __a;} _Ios_Openmode &operator|=(_Ios_Openmode &__a, _Ios_Openmode __b) {return __a;} _Ios_Openmode &operator&=(_Ios_Openmode &__a, _Ios_Openmode __b) {return __a;} _Ios_Openmode &operator^=(_Ios_Openmode &__a, _Ios_Openmode __b) {return __a;} enum _Ios_Iostate { _S_ios_iostate_max }; _Ios_Iostate operator&(_Ios_Iostate &__a__b) {return __a__b;} _Ios_Iostate operator|(_Ios_Iostate &__a, _Ios_Iostate __b) {return __a;} _Ios_Iostate operator^(_Ios_Iostate &__a, _Ios_Iostate __b) {return __a;} _Ios_Iostate operator~(_Ios_Iostate &__a) {return __a;} _Ios_Iostate &operator|=(_Ios_Iostate &__a, _Ios_Iostate __b) {return __a;} _Ios_Iostate &operator&=(_Ios_Iostate &__a, _Ios_Iostate __b) {return __a;} _Ios_Iostate &operator^=(_Ios_Iostate &__a, _Ios_Iostate __b) {return __a;} enum class io_errc; inline error_code make_error_code(io_errc __e) noexcept {return error_code();} inline error_condition make_error_condition_wrap_class_string; static luaL_Reg swig_ClientProfile_methods; static luaL_Reg swig_ClientProfile_meta; static swig_lua_attribute swig_ClientProfile_Sf_SwigStatic_attributes; static swig_lua_const_info swig_ClientProfile_Sf_SwigStatic_constants; static luaL_Reg swig_ClientProfile_Sf_SwigStatic_methods; static swig_lua_class swig_ClientProfile_Sf_SwigStatic_classes; static int swig_ClientProfile_Sf_SwigStatic; static swig_lua_class swig_ClientProfile_bases; static const char *swig_ClientProfile_base_names; static swig_lua_class _wrap_class_ClientProfile; static int _proxy__wrap_new_Connection0; static swig_lua_attribute swig_Connection_attributes; static luaL_Reg swig_Connection_methods; static luaL_Reg swig_Connection_meta; static swig_lua_attribute swig_Connection_Sf_SwigStatic_attributes; static swig_lua_const_info swig_Connection_Sf_SwigStatic_constants; static luaL_Reg swig_Connection_Sf_SwigStatic_methods; static swig_lua_class swig_Connection_Sf_SwigStatic_classes; static int swig_Connection_Sf_SwigStatic; static swig_lua_class swig_Connection_bases; static const char swig_Connection_base_names = 0; static swig_lua_class _wrap_class_Connection; static int _proxy__wrap_new_ConnectionPool0; static swig_lua_attribute swig_ConnectionPool_attributes; static luaL_Reg swig_ConnectionPool_methods; static luaL_Reg swig_ConnectionPool_meta; static swig_lua_attribute swig_ConnectionPool_Sf_SwigStatic_attributes; static swig_lua_const_info swig_ConnectionPool_Sf_SwigStatic_constants; static luaL_Reg swig_ConnectionPool_Sf_SwigStatic_methods; static swig_lua_class swig_ConnectionPool_Sf_SwigStatic_classes; static int swig_ConnectionPool_Sf_SwigStatic; static swig_lua_class *swig_ConnectionPool_bases ; static const char *swig_ConnectionPool_base_names ; static swig_lua_class _wrap_class_ConnectionPool; static int _proxy__wrap_new_Client0; static swig_lua_attribute swig_Client_attributes; static luaL_Reg swig_Client_methods; static luaL_Reg swig_Client_meta; static swig_lua_attribute swig_Client_Sf_SwigStatic_attributes; static swig_lua_const_info swig_Client_Sf_SwigStatic_constants; static luaL_Reg swig_Client_Sf_SwigStatic_methods; static swig_lua_class swig_Client_Sf_SwigStatic_classes; static int swig_Client_Sf_SwigStatic; static swig_lua_class *swig_Client_bases; static const char *swig_Client_base_names; static swig_lua_class _wrap_class_Client; static int _proxy__wrap_new_PreludeLog0; static swig_lua_attribute swig_PreludeLog_attributes; static luaL_Reg swig_PreludeLog_methods; static luaL_Reg swig_PreludeLog_meta; static swig_lua_attribute swig_PreludeLog_Sf_SwigStatic_attributes; static swig_lua_const_info swig_PreludeLog_Sf_SwigStatic_constants; static luaL_Reg swig_PreludeLog_Sf_SwigStatic_methods; static swig_lua_class swig_PreludeLog_Sf_SwigStatic_classes; static int swig_PreludeLog_Sf_SwigStatic; static swig_lua_class swig_PreludeLog_bases; static const char *swig_PreludeLog_base_names; static swig_lua_class _wrap_class_PreludeLog; static int _proxy__wrap_new_PreludeError0; static swig_lua_attribute swig_PreludeError_attributes; static luaL_Reg swig_PreludeError_methods; static luaL_Reg swig_PreludeError_meta; static swig_lua_attribute swig_PreludeError_Sf_SwigStatic_attributes; static swig_lua_const_info swig_PreludeError_Sf_SwigStatic_constants; static luaL_Reg swig_PreludeError_Sf_SwigStatic_methods; static swig_lua_class swig_PreludeError_Sf_SwigStatic_classes; static int swig_PreludeError_Sf_SwigStatic; static swig_lua_class swig_PreludeError_bases; static const char *swig_PreludeError_base_names; static swig_lua_class _wrap_class_PreludeError; static int _proxy__wrap_new_ClientEasy0; static swig_lua_attribute swig_ClientEasy_attributes; static luaL_Reg swig_ClientEasy_methods; static luaL_Reg swig_ClientEasy_meta; static swig_lua_attribute swig_ClientEasy_Sf_SwigStatic_attributes; static swig_lua_const_info swig_ClientEasy_Sf_SwigStatic_constants; static luaL_Reg swig_ClientEasy_Sf_SwigStatic_methods; static swig_lua_class swig_ClientEasy_Sf_SwigStatic_classes; static int swig_ClientEasy_Sf_SwigStatic; static swig_lua_class *swig_ClientEasy_bases; static const char *swig_ClientEasy_base_names; static swig_lua_class _wrap_class_ClientEasy; static int _proxy__wrap_new_IDMEFCriterion0; static swig_lua_attribute swig_IDMEFCriterion_attributes; static luaL_Reg swig_IDMEFCriterion_methods; static luaL_Reg swig_IDMEFCriterion_meta; static swig_lua_attribute swig_IDMEFCriterion_Sf_SwigStatic_attributes; static swig_lua_const_info swig_IDMEFCriterion_Sf_SwigStatic_constants; static luaL_Reg swig_IDMEFCriterion_Sf_SwigStatic_methods; static swig_lua_class swig_IDMEFCriterion_Sf_SwigStatic_classes; static int swig_IDMEFCriterion_Sf_SwigStatic; static swig_lua_class swig_IDMEFCriterion_bases; static const char *swig_IDMEFCriterion_base_names; static swig_lua_class _wrap_class_IDMEFCriterion; static int _proxy__wrap_new_IDMEFCriteria0; static swig_lua_attribute swig_IDMEFCriteria_attributes; static luaL_Reg swig_IDMEFCriteria_methods; static luaL_Reg swig_IDMEFCriteria_meta; static swig_lua_attribute swig_IDMEFCriteria_Sf_SwigStatic_attributes; static swig_lua_const_info swig_IDMEFCriteria_Sf_SwigStatic_constants; static luaL_Reg swig_IDMEFCriteria_Sf_SwigStatic_methods; static swig_lua_class swig_IDMEFCriteria_Sf_SwigStatic_classes; static int swig_IDMEFCriteria_Sf_SwigStatic; static swig_lua_class swig_IDMEFCriteria_bases; static const char *swig_IDMEFCriteria_base_names; static swig_lua_class _wrap_class_IDMEFCriteria; static int _proxy__wrap_new_IDMEFValue0; static swig_lua_attribute swig_IDMEFValue_attributes; static luaL_Reg swig_IDMEFValue_methods; static luaL_Reg swig_IDMEFValue_meta; static swig_lua_attribute swig_IDMEFValue_Sf_SwigStatic_attributes; static swig_lua_const_info swig_IDMEFValue_Sf_SwigStatic_constants; static luaL_Reg swig_IDMEFValue_Sf_SwigStatic_methods; static swig_lua_class swig_IDMEFValue_Sf_SwigStatic_classes; static int swig_IDMEFValue_Sf_SwigStatic; static swig_lua_class swig_IDMEFValue_bases; static const char *swig_IDMEFValue_base_names; static swig_lua_class _wrap_class_IDMEFValue; static int _proxy__wrap_new_IDMEFPath0; static swig_lua_attribute swig_IDMEFPath_attributes; static luaL_Reg swig_IDMEFPath_methods; static luaL_Reg swig_IDMEFPath_meta; static swig_lua_attribute swig_IDMEFPath_Sf_SwigStatic_attributes; static swig_lua_const_info swig_IDMEFPath_Sf_SwigStatic_constants; static luaL_Reg swig_IDMEFPath_Sf_SwigStatic_methods; static swig_lua_class swig_IDMEFPath_Sf_SwigStatic_classes; static int swig_IDMEFPath_Sf_SwigStatic; static swig_lua_class swig_IDMEFPath_bases; static const char *swig_IDMEFPath_base_names; static swig_lua_class _wrap_class_IDMEFPath; static int _proxy__wrap_new_IDMEFTime0; static swig_lua_attribute swig_IDMEFTime_attributes; static luaL_Reg swig_IDMEFTime_methods; static luaL_Reg swig_IDMEFTime_meta; static swig_lua_attribute swig_IDMEFTime_Sf_SwigStatic_attributes; static swig_lua_const_info swig_IDMEFTime_Sf_SwigStatic_constants; static luaL_Reg swig_IDMEFTime_Sf_SwigStatic_methods; static swig_lua_class swig_IDMEFTime_Sf_SwigStatic_classes; static int swig_IDMEFTime_Sf_SwigStatic; static swig_lua_class swig_IDMEFTime_bases; static const char *swig_IDMEFTime_base_names; static swig_lua_class _wrap_class_IDMEFTime; static int _proxy__wrap_new_IDMEFClass0; static swig_lua_attribute swig_IDMEFClass_attributes; static luaL_Reg swig_IDMEFClass_methods; static luaL_Reg swig_IDMEFClass_meta; static swig_lua_attribute swig_IDMEFClass_Sf_SwigStatic_attributes; static swig_lua_const_info swig_IDMEFClass_Sf_SwigStatic_constants; static luaL_Reg swig_IDMEFClass_Sf_SwigStatic_methods; static swig_lua_class swig_IDMEFClass_Sf_SwigStatic_classes; static int swig_IDMEFClass_Sf_SwigStatic; static swig_lua_class swig_IDMEFClass_bases; static const char *swig_IDMEFClass_base_names; static swig_lua_class _wrap_class_IDMEFClass; static int _proxy__wrap_new_IDMEF0; static swig_lua_attribute swig_IDMEF_attributes; static luaL_Reg swig_IDMEF_methods; static luaL_Reg swig_IDMEF_meta; static swig_lua_attribute swig_IDMEF_Sf_SwigStatic_attributes; static swig_lua_const_info swig_IDMEF_Sf_SwigStatic_constants; static luaL_Reg swig_IDMEF_Sf_SwigStatic_methods; static swig_lua_class swig_IDMEF_Sf_SwigStatic_classes; static int swig_IDMEF_Sf_SwigStatic; static swig_lua_class swig_IDMEF_bases; static const char *swig_IDMEF_base_names; static swig_lua_class _wrap_class_IDMEF; static swig_lua_attribute swig_SwigModule_attributes; static swig_lua_const_info swig_SwigModule_constants; static luaL_Reg swig_SwigModule_methods; static swig_lua_class *swig_SwigModule_classes; static int swig_SwigModule_namespaces; static int swig_SwigModule; } static void *_p_Prelude__ClientTo_p_Prelude__ClientProfile0;