Add attribute noreturn to functions that throw
authorAditya Kumar <hiraditya@msn.com>
Sat, 27 Aug 2016 02:26:42 +0000 (02:26 +0000)
committerAditya Kumar <hiraditya@msn.com>
Sat, 27 Aug 2016 02:26:42 +0000 (02:26 +0000)
Reviewers: mclow.lists, EricWF, howard.hinnant, sebpop
Subscribers: cfe-commits

Differential Revision: https://reviews.llvm.org/D21232

llvm-svn: 279903

libcxx/include/__locale
libcxx/include/system_error

index e718f11..b618069 100644 (file)
@@ -1183,6 +1183,8 @@ _LIBCPP_EXTERN_TEMPLATE2(class _LIBCPP_TYPE_VIS codecvt_byname<wchar_t, char, mb
 _LIBCPP_EXTERN_TEMPLATE2(class _LIBCPP_TYPE_VIS codecvt_byname<char16_t, char, mbstate_t>)
 _LIBCPP_EXTERN_TEMPLATE2(class _LIBCPP_TYPE_VIS codecvt_byname<char32_t, char, mbstate_t>)
 
+_LIBCPP_NORETURN _LIBCPP_FUNC_VIS void __throw_runtime_error(const char*);
+
 template <size_t _Np>
 struct __narrow_to_utf8
 {
index 134bb32..5145d23 100644 (file)
@@ -635,7 +635,8 @@ private:
     static string __init(const error_code&, string);
 };
 
-_LIBCPP_FUNC_VIS void __throw_system_error(int ev, const char* what_arg);
+_LIBCPP_NORETURN _LIBCPP_FUNC_VIS
+void __throw_system_error(int ev, const char* what_arg);
 
 _LIBCPP_END_NAMESPACE_STD