// Helper for exception objects in <typeinfo>
void
- __throw_bad_cast(void) __attribute__((__noreturn__));
+ __throw_bad_cast(void) __attribute__((__noreturn__,__cold__));
void
- __throw_bad_typeid(void) __attribute__((__noreturn__));
+ __throw_bad_typeid(void) __attribute__((__noreturn__,__cold__));
// Helpers for exception objects in <stdexcept>
void
- __throw_logic_error(const char*) __attribute__((__noreturn__));
+ __throw_logic_error(const char*) __attribute__((__noreturn__,__cold__));
void
- __throw_domain_error(const char*) __attribute__((__noreturn__));
+ __throw_domain_error(const char*) __attribute__((__noreturn__,__cold__));
void
- __throw_invalid_argument(const char*) __attribute__((__noreturn__));
+ __throw_invalid_argument(const char*) __attribute__((__noreturn__,__cold__));
void
- __throw_length_error(const char*) __attribute__((__noreturn__));
+ __throw_length_error(const char*) __attribute__((__noreturn__,__cold__));
void
- __throw_out_of_range(const char*) __attribute__((__noreturn__));
+ __throw_out_of_range(const char*) __attribute__((__noreturn__,__cold__));
void
- __throw_out_of_range_fmt(const char*, ...) __attribute__((__noreturn__))
+ __throw_out_of_range_fmt(const char*, ...) __attribute__((__noreturn__,__cold__))
__attribute__((__format__(__gnu_printf__, 1, 2)));
void
- __throw_runtime_error(const char*) __attribute__((__noreturn__));
+ __throw_runtime_error(const char*) __attribute__((__noreturn__,__cold__));
void
- __throw_range_error(const char*) __attribute__((__noreturn__));
+ __throw_range_error(const char*) __attribute__((__noreturn__,__cold__));
void
- __throw_overflow_error(const char*) __attribute__((__noreturn__));
+ __throw_overflow_error(const char*) __attribute__((__noreturn__,__cold__));
void
- __throw_underflow_error(const char*) __attribute__((__noreturn__));
+ __throw_underflow_error(const char*) __attribute__((__noreturn__,__cold__));
// Helpers for exception objects in <ios>
void
- __throw_ios_failure(const char*) __attribute__((__noreturn__));
+ __throw_ios_failure(const char*) __attribute__((__noreturn__,__cold__));
void
- __throw_ios_failure(const char*, int) __attribute__((__noreturn__));
+ __throw_ios_failure(const char*, int) __attribute__((__noreturn__,__cold__));
// Helpers for exception objects in <system_error>
void
- __throw_system_error(int) __attribute__((__noreturn__));
+ __throw_system_error(int) __attribute__((__noreturn__,__cold__));
// Helpers for exception objects in <future>
void
- __throw_future_error(int) __attribute__((__noreturn__));
+ __throw_future_error(int) __attribute__((__noreturn__,__cold__));
// Helpers for exception objects in <functional>
void
- __throw_bad_function_call() __attribute__((__noreturn__));
+ __throw_bad_function_call() __attribute__((__noreturn__,__cold__));
#else // ! HOSTED
/** The runtime will call this function if %exception handling must be
* abandoned for any reason. It can also be called by the user. */
- void terminate() _GLIBCXX_USE_NOEXCEPT __attribute__ ((__noreturn__));
+ void terminate() _GLIBCXX_USE_NOEXCEPT __attribute__ ((__noreturn__,__cold__));
#if __cplusplus < 201703L || (__cplusplus <= 202002L && _GLIBCXX_USE_DEPRECATED)
/// If you write a replacement %unexpected handler, it must be of this type.
* @deprecated Removed from the C++ standard in C++17
*/
_GLIBCXX11_DEPRECATED
- void unexpected() __attribute__ ((__noreturn__));
+ void unexpected() __attribute__ ((__noreturn__,__cold__));
#endif
/** [18.6.4]/1: 'Returns true after completing evaluation of a