bridges/source/cpp_uno/shared/component.cxx               |    6 
 bridges/source/jni_uno/jni_bridge.cxx                     |   21 -
 bridges/source/jni_uno/jni_info.cxx                       |    3 
 bridges/source/jni_uno/jni_uno2java.cxx                   |   24 -
 bridges/source/jni_uno/nativethreadpool.cxx               |   20 -
 bridges/source/net_uno/net_bridge.cxx                     |   14 
 bridges/source/net_uno/net_proxy.cxx                      |   10 
 cli_ure/source/uno_bridge/cli_bridge.cxx                  |   24 -
 cli_ure/source/uno_bridge/cli_proxy.cxx                   |   24 -
 comphelper/source/property/propshlp.cxx                   |    2 
 cppu/source/AffineBridge/AffineBridge.cxx                 |    3 
 cppu/source/LogBridge/LogBridge.cxx                       |    3 
 cppu/source/UnsafeBridge/UnsafeBridge.cxx                 |    3 
 cppu/source/cppu/compat.cxx                               |    7 
 cppu/source/cppu/cppu_opt.cxx                             |    9 
 cppu/source/helper/purpenv/helper_purpenv_Environment.cxx |    8 
 cppu/source/helper/purpenv/helper_purpenv_Mapping.cxx     |   12 
 cppu/source/helper/purpenv/helper_purpenv_Proxy.cxx       |    9 
 cppu/source/threadpool/current.cxx                        |    6 
 cppu/source/threadpool/threadident.cxx                    |    9 
 cppu/source/threadpool/threadpool.cxx                     |   15 
 cppu/source/typelib/static_types.cxx                      |   24 -
 cppu/source/typelib/typelib.cxx                           |   87 +----
 cppu/source/uno/EnvStack.cxx                              |   15 
 cppu/source/uno/any.cxx                                   |   24 -
 cppu/source/uno/cascade_mapping.cxx                       |    3 
 cppu/source/uno/data.cxx                                  |   39 --
 cppu/source/uno/lbenv.cxx                                 |   15 
 cppu/source/uno/lbmap.cxx                                 |   18 -
 cppu/source/uno/sequence.cxx                              |   27 -
 cppuhelper/source/propshlp.cxx                            |    6 
 sal/osl/all/debugbase.cxx                                 |   15 
 sal/rtl/alloc_arena.cxx                                   |    8 
 sal/rtl/alloc_cache.cxx                                   |   12 
 sal/rtl/alloc_global.cxx                                  |   14 
 sal/rtl/bootstrap.cxx                                     |    2 
 sal/rtl/byteseq.cxx                                       |   31 -
 sal/rtl/cipher.cxx                                        |   32 -
 sal/rtl/crc.cxx                                           |    2 
 sal/rtl/digest.cxx                                        |  104 ++----
 sal/rtl/math.cxx                                          |   36 +-
 sal/rtl/random.cxx                                        |    8 
 sal/rtl/strimp.cxx                                        |    2 
 sal/rtl/string.cxx                                        |  162 +++------
 sal/rtl/uri.cxx                                           |   12 
 sal/rtl/ustrbuf.cxx                                       |    3 
 sal/rtl/ustring.cxx                                       |  237 +++++---------
 store/source/store.cxx                                    |   26 -
 48 files changed, 468 insertions(+), 728 deletions(-)

New commits:
commit ad686b26cec93653b67642f79bace16df0fd1348
Author:     Mike Kaganski <mike.kagan...@collabora.com>
AuthorDate: Sun Nov 3 00:37:29 2024 +0500
Commit:     Mike Kaganski <mike.kagan...@collabora.com>
CommitDate: Sat Nov 2 22:16:06 2024 +0100

    No need to use SAL_THROW_EXTERN_C macro in CXX
    
    Change-Id: I6eb9f0431a9402479a2d90d5b6f68b611d52a9f9
    Reviewed-on: https://gerrit.libreoffice.org/c/core/+/175957
    Tested-by: Jenkins
    Reviewed-by: Mike Kaganski <mike.kagan...@collabora.com>

diff --git a/bridges/source/cpp_uno/shared/component.cxx 
b/bridges/source/cpp_uno/shared/component.cxx
index 26d37af506ac..9e7f5ae7a75a 100644
--- a/bridges/source/cpp_uno/shared/component.cxx
+++ b/bridges/source/cpp_uno/shared/component.cxx
@@ -147,8 +147,7 @@ static void environmentDisposing(
 #define uno_initEnvironment CPPU_ENV_uno_initEnvironment
 #endif
 
-SAL_DLLPUBLIC_EXPORT void uno_initEnvironment(uno_Environment * pCppEnv)
-    SAL_THROW_EXTERN_C()
+SAL_DLLPUBLIC_EXPORT void uno_initEnvironment(uno_Environment * pCppEnv) 
noexcept
 {
     assert(pCppEnv->pExtEnv);
     assert(
@@ -168,8 +167,7 @@ SAL_DLLPUBLIC_EXPORT void 
uno_initEnvironment(uno_Environment * pCppEnv)
 #endif
 
 SAL_DLLPUBLIC_EXPORT void uno_ext_getMapping(
-    uno_Mapping ** ppMapping, uno_Environment * pFrom, uno_Environment * pTo)
-    SAL_THROW_EXTERN_C()
+    uno_Mapping ** ppMapping, uno_Environment * pFrom, uno_Environment * pTo) 
noexcept
 {
     assert(ppMapping && pFrom && pTo);
     if (!(ppMapping && pFrom && pTo && pFrom->pExtEnv && pTo->pExtEnv))
diff --git a/bridges/source/jni_uno/jni_bridge.cxx 
b/bridges/source/jni_uno/jni_bridge.cxx
index bd11e0bbda6d..8f525b118196 100644
--- a/bridges/source/jni_uno/jni_bridge.cxx
+++ b/bridges/source/jni_uno/jni_bridge.cxx
@@ -39,16 +39,14 @@ extern "C"
 {
 
 
-void Mapping_acquire( uno_Mapping * mapping )
-    SAL_THROW_EXTERN_C()
+void Mapping_acquire( uno_Mapping * mapping ) noexcept
 {
     Mapping const * that = static_cast< Mapping const * >( mapping );
     that->m_bridge->acquire();
 }
 
 
-void Mapping_release( uno_Mapping * mapping )
-    SAL_THROW_EXTERN_C()
+void Mapping_release( uno_Mapping * mapping ) noexcept
 {
     Mapping const * that = static_cast< Mapping const * >( mapping );
     that->m_bridge->release();
@@ -57,8 +55,7 @@ void Mapping_release( uno_Mapping * mapping )
 
 void Mapping_map_to_uno(
     uno_Mapping * mapping, void ** ppOut,
-    void * pIn, typelib_InterfaceTypeDescription * td )
-    SAL_THROW_EXTERN_C()
+    void * pIn, typelib_InterfaceTypeDescription * td ) noexcept
 {
     uno_Interface ** ppUnoI = reinterpret_cast<uno_Interface **>(ppOut);
     jobject javaI = static_cast<jobject>(pIn);
@@ -116,8 +113,7 @@ void Mapping_map_to_uno(
 
 void Mapping_map_to_java(
     uno_Mapping * mapping, void ** ppOut,
-    void * pIn, typelib_InterfaceTypeDescription * td )
-    SAL_THROW_EXTERN_C()
+    void * pIn, typelib_InterfaceTypeDescription * td ) noexcept
 {
     jobject * ppJavaI = reinterpret_cast<jobject *>(ppOut);
     uno_Interface * pUnoI = static_cast<uno_Interface *>(pIn);
@@ -177,8 +173,7 @@ void Mapping_map_to_java(
 }
 
 
-void Bridge_free( uno_Mapping * mapping )
-    SAL_THROW_EXTERN_C()
+void Bridge_free( uno_Mapping * mapping ) noexcept
 {
     Mapping * that = static_cast< Mapping * >( mapping );
     delete that->m_bridge;
@@ -465,8 +460,7 @@ static void java_env_disposing(uno_Environment * env) {
 #endif
 
 
-SAL_DLLPUBLIC_EXPORT void uno_initEnvironment( uno_Environment * java_env )
-    SAL_THROW_EXTERN_C()
+SAL_DLLPUBLIC_EXPORT void uno_initEnvironment( uno_Environment * java_env ) 
noexcept
 {
     try {
         // JavaComponentLoader::getJavaLoader (in
@@ -511,8 +505,7 @@ SAL_DLLPUBLIC_EXPORT void uno_initEnvironment( 
uno_Environment * java_env )
 
 
 SAL_DLLPUBLIC_EXPORT void uno_ext_getMapping(
-    uno_Mapping ** ppMapping, uno_Environment * pFrom, uno_Environment * pTo )
-    SAL_THROW_EXTERN_C()
+    uno_Mapping ** ppMapping, uno_Environment * pFrom, uno_Environment * pTo ) 
noexcept
 {
     assert(ppMapping != nullptr);
     assert(pFrom != nullptr);
diff --git a/bridges/source/jni_uno/jni_info.cxx 
b/bridges/source/jni_uno/jni_info.cxx
index 2f84d0121e1d..5fddcc27819d 100644
--- a/bridges/source/jni_uno/jni_info.cxx
+++ b/bridges/source/jni_uno/jni_info.cxx
@@ -964,8 +964,7 @@ extern "C"
 
 SAL_JNI_EXPORT void
 JNICALL Java_com_sun_star_bridges_jni_1uno_JNI_1info_1holder_finalize__J(
-    JNIEnv * jni_env, SAL_UNUSED_PARAMETER jobject, jlong jni_info_handle )
-    SAL_THROW_EXTERN_C()
+    JNIEnv * jni_env, SAL_UNUSED_PARAMETER jobject, jlong jni_info_handle ) 
noexcept
 {
     ::jni_uno::JNI_info * jni_info =
           reinterpret_cast< ::jni_uno::JNI_info * >( jni_info_handle );
diff --git a/bridges/source/jni_uno/jni_uno2java.cxx 
b/bridges/source/jni_uno/jni_uno2java.cxx
index 66715a7d9d26..110ed8db14c2 100644
--- a/bridges/source/jni_uno/jni_uno2java.cxx
+++ b/bridges/source/jni_uno/jni_uno2java.cxx
@@ -40,22 +40,18 @@ extern "C"
 {
 
 
-void UNO_proxy_free( uno_ExtEnvironment * env, void * proxy )
-    SAL_THROW_EXTERN_C();
+void UNO_proxy_free( uno_ExtEnvironment * env, void * proxy ) noexcept;
 
 
-void UNO_proxy_acquire( uno_Interface * pUnoI )
-    SAL_THROW_EXTERN_C();
+void UNO_proxy_acquire( uno_Interface * pUnoI ) noexcept;
 
 
-void UNO_proxy_release( uno_Interface * pUnoI )
-    SAL_THROW_EXTERN_C();
+void UNO_proxy_release( uno_Interface * pUnoI ) noexcept;
 
 
 void UNO_proxy_dispatch(
     uno_Interface * pUnoI, typelib_TypeDescription const * member_td,
-    void * uno_ret, void * uno_args[], uno_Any ** uno_exc )
-    SAL_THROW_EXTERN_C();
+    void * uno_ret, void * uno_args[], uno_Any ** uno_exc ) noexcept;
 }
 }
 
@@ -504,8 +500,7 @@ extern "C"
 {
 
 
-void UNO_proxy_free( uno_ExtEnvironment * env, void * proxy )
-    SAL_THROW_EXTERN_C()
+void UNO_proxy_free( uno_ExtEnvironment * env, void * proxy ) noexcept
 {
     UNO_proxy * that = static_cast< UNO_proxy * >( proxy );
     Bridge const * bridge = that->m_bridge;
@@ -542,16 +537,14 @@ void UNO_proxy_free( uno_ExtEnvironment * env, void * 
proxy )
 }
 
 
-void UNO_proxy_acquire( uno_Interface * pUnoI )
-    SAL_THROW_EXTERN_C()
+void UNO_proxy_acquire( uno_Interface * pUnoI ) noexcept
 {
     UNO_proxy const * that = static_cast< UNO_proxy const * >( pUnoI );
     that->acquire();
 }
 
 
-void UNO_proxy_release( uno_Interface * pUnoI )
-    SAL_THROW_EXTERN_C()
+void UNO_proxy_release( uno_Interface * pUnoI ) noexcept
 {
     UNO_proxy const * that = static_cast< UNO_proxy const * >( pUnoI );
     that->release();
@@ -560,8 +553,7 @@ void UNO_proxy_release( uno_Interface * pUnoI )
 
 void UNO_proxy_dispatch(
     uno_Interface * pUnoI, typelib_TypeDescription const * member_td,
-    void * uno_ret, void * uno_args [], uno_Any ** uno_exc )
-    SAL_THROW_EXTERN_C()
+    void * uno_ret, void * uno_args [], uno_Any ** uno_exc ) noexcept
 {
     UNO_proxy const * that = static_cast< UNO_proxy const * >( pUnoI );
     Bridge const * bridge = that->m_bridge;
diff --git a/bridges/source/jni_uno/nativethreadpool.cxx 
b/bridges/source/jni_uno/nativethreadpool.cxx
index 1d14c47bb0ad..0eae3d6568d0 100644
--- a/bridges/source/jni_uno/nativethreadpool.cxx
+++ b/bridges/source/jni_uno/nativethreadpool.cxx
@@ -86,7 +86,7 @@ static void executeRequest(void * data) {
 
 extern "C" SAL_JNI_EXPORT jbyteArray JNICALL
 Java_com_sun_star_lib_uno_environments_remote_NativeThreadPool_threadId(
-    JNIEnv * env, SAL_UNUSED_PARAMETER jclass) SAL_THROW_EXTERN_C()
+    JNIEnv * env, SAL_UNUSED_PARAMETER jclass) noexcept
 {
     sal_Sequence * s = nullptr;
     uno_getIdOfCurrentThread(&s); //TODO: out of memory
@@ -111,7 +111,7 @@ 
Java_com_sun_star_lib_uno_environments_remote_NativeThreadPool_threadId(
 
 extern "C" SAL_JNI_EXPORT jlong JNICALL
 Java_com_sun_star_lib_uno_environments_remote_NativeThreadPool_create(
-    JNIEnv * env, SAL_UNUSED_PARAMETER jclass) SAL_THROW_EXTERN_C()
+    JNIEnv * env, SAL_UNUSED_PARAMETER jclass) noexcept
 {
     JavaVM * vm;
     if (env->GetJavaVM(&vm) != JNI_OK) { //TODO: no Java exception raised?
@@ -141,15 +141,14 @@ 
Java_com_sun_star_lib_uno_environments_remote_NativeThreadPool_create(
 
 extern "C" SAL_JNI_EXPORT void JNICALL
 Java_com_sun_star_lib_uno_environments_remote_NativeThreadPool_attach(
-    SAL_UNUSED_PARAMETER JNIEnv *, SAL_UNUSED_PARAMETER jclass, jlong pool)
-    SAL_THROW_EXTERN_C()
+    SAL_UNUSED_PARAMETER JNIEnv *, SAL_UNUSED_PARAMETER jclass, jlong pool) 
noexcept
 {
     uno_threadpool_attach(reinterpret_cast< Pool * >(pool)->pool);
 }
 
 extern "C" SAL_JNI_EXPORT jobject JNICALL
 Java_com_sun_star_lib_uno_environments_remote_NativeThreadPool_enter(
-    JNIEnv * env, SAL_UNUSED_PARAMETER jclass, jlong pool) SAL_THROW_EXTERN_C()
+    JNIEnv * env, SAL_UNUSED_PARAMETER jclass, jlong pool) noexcept
 {
     jobject job;
     uno_threadpool_enter(
@@ -165,8 +164,7 @@ 
Java_com_sun_star_lib_uno_environments_remote_NativeThreadPool_enter(
 
 extern "C" SAL_JNI_EXPORT void JNICALL
 Java_com_sun_star_lib_uno_environments_remote_NativeThreadPool_detach(
-    SAL_UNUSED_PARAMETER JNIEnv *, SAL_UNUSED_PARAMETER jclass, jlong pool)
-    SAL_THROW_EXTERN_C()
+    SAL_UNUSED_PARAMETER JNIEnv *, SAL_UNUSED_PARAMETER jclass, jlong pool) 
noexcept
 {
     uno_threadpool_detach(reinterpret_cast< Pool * >(pool)->pool);
 }
@@ -174,7 +172,7 @@ 
Java_com_sun_star_lib_uno_environments_remote_NativeThreadPool_detach(
 extern "C" SAL_JNI_EXPORT void JNICALL
 Java_com_sun_star_lib_uno_environments_remote_NativeThreadPool_putJob(
     JNIEnv * env, SAL_UNUSED_PARAMETER jclass, jlong pool, jbyteArray threadId,
-    jobject job, jboolean request, jboolean oneWay) SAL_THROW_EXTERN_C()
+    jobject job, jboolean request, jboolean oneWay) noexcept
 {
     void * s = env->GetPrimitiveArrayCritical(threadId, nullptr);
     if (s == nullptr) {
@@ -208,16 +206,14 @@ 
Java_com_sun_star_lib_uno_environments_remote_NativeThreadPool_putJob(
 
 extern "C" SAL_JNI_EXPORT void JNICALL
 Java_com_sun_star_lib_uno_environments_remote_NativeThreadPool_dispose(
-    SAL_UNUSED_PARAMETER JNIEnv *, SAL_UNUSED_PARAMETER jclass, jlong pool)
-    SAL_THROW_EXTERN_C()
+    SAL_UNUSED_PARAMETER JNIEnv *, SAL_UNUSED_PARAMETER jclass, jlong pool) 
noexcept
 {
     uno_threadpool_dispose(reinterpret_cast< Pool * >(pool)->pool);
 }
 
 extern "C" SAL_JNI_EXPORT void JNICALL
 Java_com_sun_star_lib_uno_environments_remote_NativeThreadPool_destroy(
-    SAL_UNUSED_PARAMETER JNIEnv *, SAL_UNUSED_PARAMETER jclass, jlong pool)
-    SAL_THROW_EXTERN_C()
+    SAL_UNUSED_PARAMETER JNIEnv *, SAL_UNUSED_PARAMETER jclass, jlong pool) 
noexcept
 {
     Pool * p = reinterpret_cast< Pool * >(pool);
     uno_threadpool_destroy(p->pool);
diff --git a/bridges/source/net_uno/net_bridge.cxx 
b/bridges/source/net_uno/net_bridge.cxx
index 9a1632fa9744..19a15a8ad0e1 100644
--- a/bridges/source/net_uno/net_bridge.cxx
+++ b/bridges/source/net_uno/net_bridge.cxx
@@ -16,26 +16,26 @@ namespace net_uno
 {
 namespace
 {
-void SAL_CALL Mapping_acquire(uno_Mapping* mapping) SAL_THROW_EXTERN_C()
+void SAL_CALL Mapping_acquire(uno_Mapping* mapping) noexcept
 {
     Mapping* that = static_cast<Mapping*>(mapping);
     that->m_bridge->acquire();
 }
 
-void SAL_CALL Mapping_release(uno_Mapping* mapping) SAL_THROW_EXTERN_C()
+void SAL_CALL Mapping_release(uno_Mapping* mapping) noexcept
 {
     Mapping* that = static_cast<Mapping*>(mapping);
     that->m_bridge->release();
 }
 
-void SAL_CALL Mapping_free(uno_Mapping* mapping) SAL_THROW_EXTERN_C()
+void SAL_CALL Mapping_free(uno_Mapping* mapping) noexcept
 {
     Mapping* that = static_cast<Mapping*>(mapping);
     delete that->m_bridge;
 }
 
 void SAL_CALL Mapping_net2uno(uno_Mapping* mapping, void** ppOut, void* pIn,
-                              typelib_InterfaceTypeDescription* pTD) 
SAL_THROW_EXTERN_C()
+                              typelib_InterfaceTypeDescription* pTD) noexcept
 {
     assert(ppOut && pTD && "### null ptr!");
 
@@ -51,7 +51,7 @@ void SAL_CALL Mapping_net2uno(uno_Mapping* mapping, void** 
ppOut, void* pIn,
 }
 
 void SAL_CALL Mapping_uno2net(uno_Mapping* mapping, void** ppOut, void* pIn,
-                              typelib_InterfaceTypeDescription* pTD) 
SAL_THROW_EXTERN_C()
+                              typelib_InterfaceTypeDescription* pTD) noexcept
 {
     assert(ppOut && pTD && "### null ptr!");
 
@@ -130,7 +130,7 @@ static void net_env_disposing(uno_Environment* env)
     delete static_cast<Context*>(env->pContext);
 }
 
-SAL_DLLPUBLIC_EXPORT void uno_initEnvironment(uno_Environment* net_env) 
SAL_THROW_EXTERN_C()
+SAL_DLLPUBLIC_EXPORT void uno_initEnvironment(uno_Environment* net_env) 
noexcept
 {
     // The code creating the uno_Environment needs to initialize
     // pContext with a Context object, complete with all callbacks.
@@ -141,7 +141,7 @@ SAL_DLLPUBLIC_EXPORT void 
uno_initEnvironment(uno_Environment* net_env) SAL_THRO
 }
 
 SAL_DLLPUBLIC_EXPORT void uno_ext_getMapping(uno_Mapping** ppMapping, 
uno_Environment* pFrom,
-                                             uno_Environment* pTo) 
SAL_THROW_EXTERN_C()
+                                             uno_Environment* pTo) noexcept
 {
     assert(ppMapping && pFrom && pTo);
 
diff --git a/bridges/source/net_uno/net_proxy.cxx 
b/bridges/source/net_uno/net_proxy.cxx
index d4c9c1869012..c603b1e0ad79 100644
--- a/bridges/source/net_uno/net_proxy.cxx
+++ b/bridges/source/net_uno/net_proxy.cxx
@@ -16,28 +16,26 @@ namespace net_uno
 {
 namespace
 {
-void SAL_CALL NetProxy_acquire(uno_Interface* pUnoI) SAL_THROW_EXTERN_C()
+void SAL_CALL NetProxy_acquire(uno_Interface* pUnoI) noexcept
 {
     NetProxy* that = static_cast<NetProxy*>(pUnoI);
     that->acquire();
 }
 
-void SAL_CALL NetProxy_release(uno_Interface* pUnoI) SAL_THROW_EXTERN_C()
+void SAL_CALL NetProxy_release(uno_Interface* pUnoI) noexcept
 {
     NetProxy* that = static_cast<NetProxy*>(pUnoI);
     that->release();
 }
 
-void SAL_CALL NetProxy_free([[maybe_unused]] uno_ExtEnvironment* pEnv, void* 
pUnoI)
-    SAL_THROW_EXTERN_C()
+void SAL_CALL NetProxy_free([[maybe_unused]] uno_ExtEnvironment* pEnv, void* 
pUnoI) noexcept
 {
     NetProxy* that = static_cast<NetProxy*>(pUnoI);
     delete that;
 }
 
 void SAL_CALL NetProxy_dispatch(uno_Interface* pUnoI, const 
typelib_TypeDescription* pMemberTD,
-                                void* pUnoRet, void** pUnoArgs, uno_Any** 
pUnoExc)
-    SAL_THROW_EXTERN_C()
+                                void* pUnoRet, void** pUnoArgs, uno_Any** 
pUnoExc) noexcept
 {
     NetProxy* proxy = static_cast<NetProxy*>(pUnoI);
 
diff --git a/cli_ure/source/uno_bridge/cli_bridge.cxx 
b/cli_ure/source/uno_bridge/cli_bridge.cxx
index 95e92e548f2b..db92a95ba196 100644
--- a/cli_ure/source/uno_bridge/cli_bridge.cxx
+++ b/cli_ure/source/uno_bridge/cli_bridge.cxx
@@ -39,15 +39,13 @@ namespace cli_uno
 
 extern "C"
 {
-void SAL_CALL Mapping_acquire( uno_Mapping * mapping )
-    SAL_THROW_EXTERN_C()
+void SAL_CALL Mapping_acquire( uno_Mapping * mapping ) noexcept
 {
     Mapping const * that = static_cast< Mapping const * >( mapping );
      that->m_bridge->acquire();
 }
 
-void SAL_CALL Mapping_release( uno_Mapping * mapping )
-    SAL_THROW_EXTERN_C()
+void SAL_CALL Mapping_release( uno_Mapping * mapping ) noexcept
 {
     Mapping const * that = static_cast< Mapping const * >( mapping );
     that->m_bridge->release();
@@ -56,8 +54,7 @@ void SAL_CALL Mapping_release( uno_Mapping * mapping )
 
 void SAL_CALL Mapping_cli2uno(
     uno_Mapping * mapping, void ** ppOut,
-    void * pIn, typelib_InterfaceTypeDescription * td )
-    SAL_THROW_EXTERN_C()
+    void * pIn, typelib_InterfaceTypeDescription * td ) noexcept
 {
     uno_Interface ** ppUnoI = (uno_Interface **)ppOut;
     intptr_t  cliI = (intptr_t)pIn;
@@ -90,8 +87,7 @@ void SAL_CALL Mapping_cli2uno(
 
 void SAL_CALL Mapping_uno2cli(
     uno_Mapping * mapping, void ** ppOut,
-    void * pIn, typelib_InterfaceTypeDescription * td )
-    SAL_THROW_EXTERN_C()
+    void * pIn, typelib_InterfaceTypeDescription * td ) noexcept
 {
     try
     {
@@ -143,8 +139,7 @@ void SAL_CALL Mapping_uno2cli(
 }
 
 
-void SAL_CALL Bridge_free( uno_Mapping * mapping )
-    SAL_THROW_EXTERN_C()
+void SAL_CALL Bridge_free( uno_Mapping * mapping ) noexcept
 {
     Mapping * that = static_cast< Mapping * >( mapping );
     delete that->m_bridge;
@@ -238,15 +233,13 @@ extern "C"
 namespace cli_uno
 {
 
-void SAL_CALL cli_env_disposing( uno_Environment * uno_cli_env )
-    SAL_THROW_EXTERN_C()
+void SAL_CALL cli_env_disposing( uno_Environment * uno_cli_env ) noexcept
 {
     uno_cli_env->pContext = 0;
 }
 
 
-SAL_DLLPUBLIC_EXPORT void SAL_CALL uno_initEnvironment( uno_Environment * 
uno_cli_env )
-    SAL_THROW_EXTERN_C()
+SAL_DLLPUBLIC_EXPORT void SAL_CALL uno_initEnvironment( uno_Environment * 
uno_cli_env ) noexcept
 {
     //ToDo: remove when compiled with .NET 2
 
@@ -273,8 +266,7 @@ SAL_DLLPUBLIC_EXPORT void SAL_CALL uno_initEnvironment( 
uno_Environment * uno_cl
 }
 
 SAL_DLLPUBLIC_EXPORT void SAL_CALL uno_ext_getMapping(
-    uno_Mapping ** ppMapping, uno_Environment * pFrom, uno_Environment * pTo )
-    SAL_THROW_EXTERN_C()
+    uno_Mapping ** ppMapping, uno_Environment * pFrom, uno_Environment * pTo ) 
noexcept
 {
     assert(ppMapping && pFrom && pTo);
     if (*ppMapping)
diff --git a/cli_ure/source/uno_bridge/cli_proxy.cxx 
b/cli_ure/source/uno_bridge/cli_proxy.cxx
index e37a33a1069b..196cf61dcf41 100644
--- a/cli_ure/source/uno_bridge/cli_proxy.cxx
+++ b/cli_ure/source/uno_bridge/cli_proxy.cxx
@@ -42,19 +42,15 @@ using namespace cli_uno;
 extern "C"
 {
 
-void SAL_CALL cli_proxy_free( uno_ExtEnvironment * env, void * proxy )
-    SAL_THROW_EXTERN_C();
+void SAL_CALL cli_proxy_free( uno_ExtEnvironment * env, void * proxy ) 
noexcept;
 
-void SAL_CALL cli_proxy_acquire( uno_Interface * pUnoI )
-    SAL_THROW_EXTERN_C();
+void SAL_CALL cli_proxy_acquire( uno_Interface * pUnoI ) noexcept;
 
-void SAL_CALL cli_proxy_release( uno_Interface * pUnoI )
-    SAL_THROW_EXTERN_C();
+void SAL_CALL cli_proxy_release( uno_Interface * pUnoI ) noexcept;
 
 void SAL_CALL cli_proxy_dispatch(
     uno_Interface * pUnoI, typelib_TypeDescription const * member_td,
-    void * uno_ret, void * uno_args[], uno_Any ** uno_exc )
-    SAL_THROW_EXTERN_C();
+    void * uno_ret, void * uno_args[], uno_Any ** uno_exc ) noexcept;
 
 
 }
@@ -886,8 +882,7 @@ inline void CliProxy::release() const
 
 
 extern "C"
-void SAL_CALL cli_proxy_free( uno_ExtEnvironment *, void * proxy )
-    SAL_THROW_EXTERN_C()
+void SAL_CALL cli_proxy_free( uno_ExtEnvironment *, void * proxy ) noexcept
 {
     cli_uno::CliProxy * cliProxy = reinterpret_cast<
         cli_uno::CliProxy * >( proxy );
@@ -896,16 +891,14 @@ void SAL_CALL cli_proxy_free( uno_ExtEnvironment *, void 
* proxy )
 }
 
 extern "C"
-void SAL_CALL cli_proxy_acquire( uno_Interface * pUnoI )
-    SAL_THROW_EXTERN_C()
+void SAL_CALL cli_proxy_acquire( uno_Interface * pUnoI ) noexcept
 {
     CliProxy const * cliProxy = static_cast< CliProxy const * >( pUnoI );
     cliProxy->acquire();
 }
 
 extern "C"
-void SAL_CALL cli_proxy_release( uno_Interface * pUnoI )
-    SAL_THROW_EXTERN_C()
+void SAL_CALL cli_proxy_release( uno_Interface * pUnoI ) noexcept
 {
     CliProxy * cliProxy = static_cast< CliProxy * >( pUnoI );
     cliProxy->release();
@@ -916,8 +909,7 @@ extern "C"
 
 void SAL_CALL cli_proxy_dispatch(
     uno_Interface * pUnoI, typelib_TypeDescription const * member_td,
-    void * uno_ret, void * uno_args [], uno_Any ** uno_exc )
-    SAL_THROW_EXTERN_C()
+    void * uno_ret, void * uno_args [], uno_Any ** uno_exc ) noexcept
 {
     CliProxy * proxy = static_cast< CliProxy* >( pUnoI );
     try
diff --git a/comphelper/source/property/propshlp.cxx 
b/comphelper/source/property/propshlp.cxx
index d15db5c7e2df..ffefa93e65c0 100644
--- a/comphelper/source/property/propshlp.cxx
+++ b/comphelper/source/property/propshlp.cxx
@@ -37,7 +37,7 @@ namespace comphelper
 {
 extern "C" {
 
-static int compare_OUString_Property_Impl(const void* arg1, const void* arg2) 
SAL_THROW_EXTERN_C()
+static int compare_OUString_Property_Impl(const void* arg1, const void* arg2) 
noexcept
 {
     return static_cast<OUString const*>(arg1)->compareTo(static_cast<Property 
const*>(arg2)->Name);
 }
diff --git a/cppu/source/AffineBridge/AffineBridge.cxx 
b/cppu/source/AffineBridge/AffineBridge.cxx
index 3e2b01df1cca..147c9278bb40 100644
--- a/cppu/source/AffineBridge/AffineBridge.cxx
+++ b/cppu/source/AffineBridge/AffineBridge.cxx
@@ -344,8 +344,7 @@ bool AffineBridge::v_isValid(OUString * pReason)
 
 #endif
 
-extern "C" void SAL_DLLPUBLIC_EXPORT uno_initEnvironment(uno_Environment * 
pEnv)
-    SAL_THROW_EXTERN_C()
+extern "C" void SAL_DLLPUBLIC_EXPORT uno_initEnvironment(uno_Environment * 
pEnv) noexcept
 {
     cppu::helper::purpenv::Environment_initWithEnterable(pEnv, new 
AffineBridge());
 }
diff --git a/cppu/source/LogBridge/LogBridge.cxx 
b/cppu/source/LogBridge/LogBridge.cxx
index b93b43b64e78..34eb0fcabcba 100644
--- a/cppu/source/LogBridge/LogBridge.cxx
+++ b/cppu/source/LogBridge/LogBridge.cxx
@@ -246,8 +246,7 @@ static void LogProbe(
 
 #endif
 
-extern "C" void SAL_DLLPUBLIC_EXPORT uno_initEnvironment(uno_Environment * 
pEnv)
-    SAL_THROW_EXTERN_C()
+extern "C" void SAL_DLLPUBLIC_EXPORT uno_initEnvironment(uno_Environment * 
pEnv) noexcept
 {
     cppu::helper::purpenv::Environment_initWithEnterable(pEnv, new 
LogBridge());
 }
diff --git a/cppu/source/UnsafeBridge/UnsafeBridge.cxx 
b/cppu/source/UnsafeBridge/UnsafeBridge.cxx
index 491a888c3921..3f95cf93e625 100644
--- a/cppu/source/UnsafeBridge/UnsafeBridge.cxx
+++ b/cppu/source/UnsafeBridge/UnsafeBridge.cxx
@@ -128,8 +128,7 @@ bool UnsafeBridge::v_isValid(OUString * pReason)
     return result;
 }
 
-extern "C" void SAL_DLLPUBLIC_EXPORT uno_initEnvironment(uno_Environment * 
pEnv)
-    SAL_THROW_EXTERN_C()
+extern "C" void SAL_DLLPUBLIC_EXPORT uno_initEnvironment(uno_Environment * 
pEnv) noexcept
 {
     cppu::helper::purpenv::Environment_initWithEnterable(pEnv, new 
UnsafeBridge());
 }
diff --git a/cppu/source/cppu/compat.cxx b/cppu/source/cppu/compat.cxx
index 06181e6efa11..06ae1bf19bc0 100644
--- a/cppu/source/cppu/compat.cxx
+++ b/cppu/source/cppu/compat.cxx
@@ -21,14 +21,14 @@ extern "C" {
 
 SAL_DLLPUBLIC_EXPORT void SAL_CALL typelib_static_array_type_init(
     typelib_TypeDescriptionReference **, typelib_TypeDescriptionReference *,
-    sal_Int32, ...) SAL_THROW_EXTERN_C()
+    sal_Int32, ...) noexcept
 {
     std::abort();
 }
 
 SAL_DLLPUBLIC_EXPORT void SAL_CALL typelib_typedescription_newArray(
     typelib_TypeDescription **, typelib_TypeDescriptionReference *,
-    sal_Int32, sal_Int32 *) SAL_THROW_EXTERN_C()
+    sal_Int32, sal_Int32 *) noexcept
 {
     std::abort();
 }
@@ -36,8 +36,7 @@ SAL_DLLPUBLIC_EXPORT void SAL_CALL 
typelib_typedescription_newArray(
 SAL_DLLPUBLIC_EXPORT void SAL_CALL typelib_typedescription_newUnion(
     typelib_TypeDescription **, rtl_uString *,
     typelib_TypeDescriptionReference *, sal_Int64,
-    typelib_TypeDescriptionReference *, sal_Int32, void *)
-    SAL_THROW_EXTERN_C()
+    typelib_TypeDescriptionReference *, sal_Int32, void *) noexcept
 {
     std::abort();
 }
diff --git a/cppu/source/cppu/cppu_opt.cxx b/cppu/source/cppu/cppu_opt.cxx
index 40f90de6e347..9522c21ce525 100644
--- a/cppu/source/cppu/cppu_opt.cxx
+++ b/cppu/source/cppu/cppu_opt.cxx
@@ -29,8 +29,7 @@ using namespace ::rtl;
 
 
 extern "C" rtl_uString * SAL_CALL cppu_unsatisfied_iquery_msg(
-    typelib_TypeDescriptionReference * pType )
-    SAL_THROW_EXTERN_C()
+    typelib_TypeDescriptionReference * pType ) noexcept
 {
     OUString ret = "unsatisfied query for interface of type "
         + OUString::unacquired( &pType->pTypeName ) + "!";
@@ -40,8 +39,7 @@ extern "C" rtl_uString * SAL_CALL cppu_unsatisfied_iquery_msg(
 
 
 extern "C" rtl_uString * SAL_CALL cppu_unsatisfied_iset_msg(
-    typelib_TypeDescriptionReference * pType )
-    SAL_THROW_EXTERN_C()
+    typelib_TypeDescriptionReference * pType ) noexcept
 {
     OUString ret = "invalid attempt to assign an empty interface of type "
         + OUString::unacquired( &pType->pTypeName ) + "!";
@@ -51,8 +49,7 @@ extern "C" rtl_uString * SAL_CALL cppu_unsatisfied_iset_msg(
 
 
 extern "C" rtl_uString * SAL_CALL cppu_Any_extraction_failure_msg(
-    uno_Any const * pAny, typelib_TypeDescriptionReference * pType )
-    SAL_THROW_EXTERN_C()
+    uno_Any const * pAny, typelib_TypeDescriptionReference * pType ) noexcept
 {
     OUString ret = "Cannot extract an Any(" +
         OUString::unacquired(&pAny->pType->pTypeName) +
diff --git a/cppu/source/helper/purpenv/helper_purpenv_Environment.cxx 
b/cppu/source/helper/purpenv/helper_purpenv_Environment.cxx
index a0163939ffb5..50e6eba1c3c4 100644
--- a/cppu/source/helper/purpenv/helper_purpenv_Environment.cxx
+++ b/cppu/source/helper/purpenv/helper_purpenv_Environment.cxx
@@ -128,25 +128,25 @@ static void s_acquire(uno_Environment * pEnv) 
//SAL_THROW_EXTERN_C()
     pBase->acquire();
 }
 
-static void s_release(uno_Environment * pEnv) SAL_THROW_EXTERN_C()
+static void s_release(uno_Environment * pEnv) noexcept
 {
     Base * pBase = static_cast<Base *>(pEnv->pReserved);
     pBase->release();
 }
 
-static void s_harden(uno_Environment ** ppHardEnv, uno_Environment * pEnv) 
SAL_THROW_EXTERN_C()
+static void s_harden(uno_Environment ** ppHardEnv, uno_Environment * pEnv) 
noexcept
 {
     Base * pBase = static_cast<Base *>(pEnv->pReserved);
     pBase->harden(ppHardEnv);
 }
 
-static void s_acquireWeak(uno_Environment * pEnv) SAL_THROW_EXTERN_C()
+static void s_acquireWeak(uno_Environment * pEnv) noexcept
 {
     Base * pBase = static_cast<Base *>(pEnv->pReserved);
     pBase->acquireWeak();
 }
 
-static void s_releaseWeak(uno_Environment * pEnv) SAL_THROW_EXTERN_C()
+static void s_releaseWeak(uno_Environment * pEnv) noexcept
 {
     Base * pBase = static_cast<Base *>(pEnv->pReserved);
     pBase->releaseWeak();
diff --git a/cppu/source/helper/purpenv/helper_purpenv_Mapping.cxx 
b/cppu/source/helper/purpenv/helper_purpenv_Mapping.cxx
index e5d96658dcf5..1fc4436f4f2f 100644
--- a/cppu/source/helper/purpenv/helper_purpenv_Mapping.cxx
+++ b/cppu/source/helper/purpenv/helper_purpenv_Mapping.cxx
@@ -63,8 +63,7 @@ static void s_mapInterface(
     uno_Mapping                       * puno_Mapping,
     void                             ** ppOut,
     void                              * pUnoI,
-    typelib_InterfaceTypeDescription  * pTypeDescr )
-    SAL_THROW_EXTERN_C()
+    typelib_InterfaceTypeDescription  * pTypeDescr ) noexcept
 {
     Mapping * pMapping = static_cast<Mapping *>(puno_Mapping);
     pMapping->mapInterface(
@@ -73,15 +72,13 @@ static void s_mapInterface(
 }
 
 extern "C" {
-static void s_acquire(uno_Mapping * puno_Mapping)
-    SAL_THROW_EXTERN_C()
+static void s_acquire(uno_Mapping * puno_Mapping) noexcept
 {
     Mapping * pMapping = static_cast<Mapping *>(puno_Mapping);
     pMapping->acquire();
 }
 
-static void s_release(uno_Mapping * puno_Mapping)
-    SAL_THROW_EXTERN_C()
+static void s_release(uno_Mapping * puno_Mapping) noexcept
 {
     Mapping * pMapping = static_cast<Mapping * >(puno_Mapping);
     pMapping->release();
@@ -97,8 +94,7 @@ static void s_getIdentifier_v(va_list * pParam)
     pEnv->getObjectIdentifier(pEnv, ppOid, pUnoI);
 }
 
-static void s_free(uno_Mapping * puno_Mapping)
-    SAL_THROW_EXTERN_C()
+static void s_free(uno_Mapping * puno_Mapping) noexcept
 {
     Mapping * pMapping = static_cast<Mapping *>(puno_Mapping);
     delete pMapping;
diff --git a/cppu/source/helper/purpenv/helper_purpenv_Proxy.cxx 
b/cppu/source/helper/purpenv/helper_purpenv_Proxy.cxx
index db4820fc9a45..fc4f82daf07c 100644
--- a/cppu/source/helper/purpenv/helper_purpenv_Proxy.cxx
+++ b/cppu/source/helper/purpenv/helper_purpenv_Proxy.cxx
@@ -103,8 +103,7 @@ extern "C" { static void s_Proxy_dispatch(
     typelib_TypeDescription const * pMemberType,
     void                          * pReturn,
     void                          * pArgs[],
-    uno_Any                      ** ppException)
-    SAL_THROW_EXTERN_C()
+    uno_Any                      ** ppException) noexcept
 {
     Proxy * pThis = static_cast<Proxy *>(pUnoI);
 
@@ -158,20 +157,20 @@ extern "C" { static void s_Proxy_dispatch(
                      ppException );
 }}
 
-extern "C" void Proxy_free(SAL_UNUSED_PARAMETER uno_ExtEnvironment * /*pEnv*/, 
void * pProxy) SAL_THROW_EXTERN_C()
+extern "C" void Proxy_free(SAL_UNUSED_PARAMETER uno_ExtEnvironment * /*pEnv*/, 
void * pProxy) noexcept
 {
     Proxy * pThis = static_cast<Proxy * >(static_cast<uno_Interface 
*>(pProxy));
     delete pThis;
 }
 
 extern "C" {
-static void s_Proxy_acquire(uno_Interface * pUnoI) SAL_THROW_EXTERN_C()
+static void s_Proxy_acquire(uno_Interface * pUnoI) noexcept
 {
     Proxy * pProxy = static_cast<Proxy *>(pUnoI);
     pProxy->acquire();
 }
 
-static void s_Proxy_release(uno_Interface * pUnoI) SAL_THROW_EXTERN_C()
+static void s_Proxy_release(uno_Interface * pUnoI) noexcept
 {
     Proxy * pProxy = static_cast<Proxy *>(pUnoI);
     pProxy->release();
diff --git a/cppu/source/threadpool/current.cxx 
b/cppu/source/threadpool/current.cxx
index 0e2a3b70196e..efb66e3166ba 100644
--- a/cppu/source/threadpool/current.cxx
+++ b/cppu/source/threadpool/current.cxx
@@ -117,8 +117,7 @@ IdContainer& getIdContainer()
 
 extern "C" sal_Bool SAL_CALL uno_setCurrentContext(
     void * pCurrentContext,
-    rtl_uString * pEnvTypeName, void * pEnvContext )
-    SAL_THROW_EXTERN_C()
+    rtl_uString * pEnvTypeName, void * pEnvContext ) noexcept
 {
     IdContainer& id = getIdContainer();
 
@@ -163,8 +162,7 @@ extern "C" sal_Bool SAL_CALL uno_setCurrentContext(
 }
 
 extern "C" sal_Bool SAL_CALL uno_getCurrentContext(
-    void ** ppCurrentContext, rtl_uString * pEnvTypeName, void * pEnvContext )
-    SAL_THROW_EXTERN_C()
+    void ** ppCurrentContext, rtl_uString * pEnvTypeName, void * pEnvContext ) 
noexcept
 {
     IdContainer& id = getIdContainer();
 
diff --git a/cppu/source/threadpool/threadident.cxx 
b/cppu/source/threadpool/threadident.cxx
index f2b9511e6b46..8add14a2d5fa 100644
--- a/cppu/source/threadpool/threadident.cxx
+++ b/cppu/source/threadpool/threadident.cxx
@@ -42,8 +42,7 @@ static void createLocalId( sal_Sequence **ppThreadId )
 }
 
 extern "C" void SAL_CALL
-uno_getIdOfCurrentThread( sal_Sequence **ppThreadId )
-    SAL_THROW_EXTERN_C()
+uno_getIdOfCurrentThread( sal_Sequence **ppThreadId ) noexcept
 {
     IdContainer& id = getIdContainer();
     if (!id.bInit)
@@ -72,8 +71,7 @@ uno_getIdOfCurrentThread( sal_Sequence **ppThreadId )
     }
 }
 
-extern "C" void SAL_CALL uno_releaseIdFromCurrentThread()
-    SAL_THROW_EXTERN_C()
+extern "C" void SAL_CALL uno_releaseIdFromCurrentThread() noexcept
 {
     IdContainer& id = getIdContainer();
     OSL_ASSERT( id.bInit );
@@ -86,8 +84,7 @@ extern "C" void SAL_CALL uno_releaseIdFromCurrentThread()
     }
 }
 
-extern "C" sal_Bool SAL_CALL uno_bindIdToCurrentThread( sal_Sequence 
*pThreadId )
-    SAL_THROW_EXTERN_C()
+extern "C" sal_Bool SAL_CALL uno_bindIdToCurrentThread( sal_Sequence 
*pThreadId ) noexcept
 {
     IdContainer& id = getIdContainer();
     if (!id.bInit)
diff --git a/cppu/source/threadpool/threadpool.cxx 
b/cppu/source/threadpool/threadpool.cxx
index 7084978a93d0..2e5e7d22657a 100644
--- a/cppu/source/threadpool/threadpool.cxx
+++ b/cppu/source/threadpool/threadpool.cxx
@@ -366,7 +366,7 @@ ThreadPoolHolder getThreadPool( uno_ThreadPool hPool )
 }
 
 extern "C" uno_ThreadPool SAL_CALL
-uno_threadpool_create() SAL_THROW_EXTERN_C()
+uno_threadpool_create() noexcept
 {
     MutexGuard guard( Mutex::getGlobalMutex() );
     ThreadPoolHolder p;
@@ -388,7 +388,7 @@ uno_threadpool_create() SAL_THROW_EXTERN_C()
 }
 
 extern "C" void SAL_CALL
-uno_threadpool_attach( uno_ThreadPool hPool ) SAL_THROW_EXTERN_C()
+uno_threadpool_attach( uno_ThreadPool hPool ) noexcept
 {
     sal_Sequence *pThreadId = nullptr;
     uno_getIdOfCurrentThread( &pThreadId );
@@ -398,8 +398,7 @@ uno_threadpool_attach( uno_ThreadPool hPool ) 
SAL_THROW_EXTERN_C()
 }
 
 extern "C" void SAL_CALL
-uno_threadpool_enter( uno_ThreadPool hPool , void **ppJob )
-    SAL_THROW_EXTERN_C()
+uno_threadpool_enter( uno_ThreadPool hPool , void **ppJob ) noexcept
 {
     sal_Sequence *pThreadId = nullptr;
     uno_getIdOfCurrentThread( &pThreadId );
@@ -412,7 +411,7 @@ uno_threadpool_enter( uno_ThreadPool hPool , void **ppJob )
 }
 
 extern "C" void SAL_CALL
-uno_threadpool_detach(SAL_UNUSED_PARAMETER uno_ThreadPool) SAL_THROW_EXTERN_C()
+uno_threadpool_detach(SAL_UNUSED_PARAMETER uno_ThreadPool) noexcept
 {
     // we might do here some tidying up in case a thread called attach but 
never detach
 }
@@ -423,7 +422,7 @@ uno_threadpool_putJob(
     sal_Sequence *pThreadId,
     void *pJob,
     void ( SAL_CALL * doRequest ) ( void *pThreadSpecificData ),
-    sal_Bool bIsOneway ) SAL_THROW_EXTERN_C()
+    sal_Bool bIsOneway ) noexcept
 {
     if (!getThreadPool(hPool)->addJob( pThreadId, bIsOneway, pJob ,doRequest, 
hPool ))
     {
@@ -434,14 +433,14 @@ uno_threadpool_putJob(
 }
 
 extern "C" void SAL_CALL
-uno_threadpool_dispose( uno_ThreadPool hPool ) SAL_THROW_EXTERN_C()
+uno_threadpool_dispose( uno_ThreadPool hPool ) noexcept
 {
     getThreadPool(hPool)->dispose(
         hPool );
 }
 
 extern "C" void SAL_CALL
-uno_threadpool_destroy( uno_ThreadPool hPool ) SAL_THROW_EXTERN_C()
+uno_threadpool_destroy( uno_ThreadPool hPool ) noexcept
 {
     ThreadPoolHolder p( getThreadPool(hPool) );
     p->destroy(
diff --git a/cppu/source/typelib/static_types.cxx 
b/cppu/source/typelib/static_types.cxx
index f91dbed71ddb..c5af49b7164f 100644
--- a/cppu/source/typelib/static_types.cxx
+++ b/cppu/source/typelib/static_types.cxx
@@ -105,8 +105,7 @@ extern "C"
 {
 
 typelib_TypeDescriptionReference ** SAL_CALL 
typelib_static_type_getByTypeClass(
-    typelib_TypeClass eTypeClass )
-    SAL_THROW_EXTERN_C()
+    typelib_TypeClass eTypeClass ) noexcept
 {
     static typelib_TypeDescriptionReference * s_aTypes[] = {
         nullptr, nullptr, nullptr, nullptr, nullptr, nullptr, nullptr, 
nullptr, nullptr, nullptr,
@@ -271,8 +270,7 @@ typelib_TypeDescriptionReference ** SAL_CALL 
typelib_static_type_getByTypeClass(
 
 void SAL_CALL typelib_static_type_init(
     typelib_TypeDescriptionReference ** ppRef,
-    typelib_TypeClass eTypeClass, const char * pTypeName )
-    SAL_THROW_EXTERN_C()
+    typelib_TypeClass eTypeClass, const char * pTypeName ) noexcept
 {
     if (! *ppRef)
     {
@@ -290,8 +288,7 @@ void SAL_CALL typelib_static_type_init(
 
 void SAL_CALL typelib_static_sequence_type_init(
     typelib_TypeDescriptionReference ** ppRef,
-    typelib_TypeDescriptionReference * pElementType )
-    SAL_THROW_EXTERN_C()
+    typelib_TypeDescriptionReference * pElementType ) noexcept
 {
     if ( *ppRef)
         return;
@@ -409,8 +406,7 @@ void SAL_CALL typelib_static_compound_type_init(
     typelib_TypeDescriptionReference ** ppRef,
     typelib_TypeClass eTypeClass, const char * pTypeName,
     typelib_TypeDescriptionReference * pBaseType,
-    sal_Int32 nMembers, typelib_TypeDescriptionReference ** ppMembers )
-    SAL_THROW_EXTERN_C()
+    sal_Int32 nMembers, typelib_TypeDescriptionReference ** ppMembers ) 
noexcept
 {
     init(ppRef, eTypeClass, pTypeName, pBaseType, nMembers, ppMembers, 
nullptr);
 }
@@ -419,8 +415,7 @@ void SAL_CALL typelib_static_struct_type_init(
     typelib_TypeDescriptionReference ** ppRef, const char * pTypeName,
     typelib_TypeDescriptionReference * pBaseType,
     sal_Int32 nMembers, typelib_TypeDescriptionReference ** ppMembers,
-    sal_Bool const * pParameterizedTypes )
-    SAL_THROW_EXTERN_C()
+    sal_Bool const * pParameterizedTypes ) noexcept
 {
     init(
         ppRef, typelib_TypeClass_STRUCT, pTypeName, pBaseType, nMembers,
@@ -430,8 +425,7 @@ void SAL_CALL typelib_static_struct_type_init(
 void SAL_CALL typelib_static_interface_type_init(
     typelib_TypeDescriptionReference ** ppRef,
     const char * pTypeName,
-    typelib_TypeDescriptionReference * pBaseType )
-    SAL_THROW_EXTERN_C()
+    typelib_TypeDescriptionReference * pBaseType ) noexcept
 {
     // coverity[callee_ptr_arith] - not a bug
     typelib_static_mi_interface_type_init(
@@ -442,8 +436,7 @@ void SAL_CALL typelib_static_mi_interface_type_init(
     typelib_TypeDescriptionReference ** ppRef,
     const char * pTypeName,
     sal_Int32 nBaseTypes,
-    typelib_TypeDescriptionReference ** ppBaseTypes )
-    SAL_THROW_EXTERN_C()
+    typelib_TypeDescriptionReference ** ppBaseTypes ) noexcept
 {
     if ( *ppRef)
         return;
@@ -505,8 +498,7 @@ void SAL_CALL typelib_static_mi_interface_type_init(
 void SAL_CALL typelib_static_enum_type_init(
     typelib_TypeDescriptionReference ** ppRef,
     const char * pTypeName,
-    sal_Int32 nDefaultValue )
-    SAL_THROW_EXTERN_C()
+    sal_Int32 nDefaultValue ) noexcept
 {
     if ( *ppRef)
         return;
diff --git a/cppu/source/typelib/typelib.cxx b/cppu/source/typelib/typelib.cxx
index c482b725f80e..034a1819db91 100644
--- a/cppu/source/typelib/typelib.cxx
+++ b/cppu/source/typelib/typelib.cxx
@@ -274,8 +274,7 @@ TypeDescriptor_Init_Impl& Init()
 }
 
 extern "C" void SAL_CALL typelib_typedescription_registerCallback(
-    void * pContext, typelib_typedescription_Callback pCallback )
-    SAL_THROW_EXTERN_C()
+    void * pContext, typelib_typedescription_Callback pCallback ) noexcept
 {
     // todo mt safe: guard is no solution, can not acquire while calling 
callback!
     TypeDescriptor_Init_Impl &rInit = Init();
@@ -285,8 +284,7 @@ extern "C" void SAL_CALL 
typelib_typedescription_registerCallback(
 
 
 extern "C" void SAL_CALL typelib_typedescription_revokeCallback(
-    void * pContext, typelib_typedescription_Callback pCallback )
-    SAL_THROW_EXTERN_C()
+    void * pContext, typelib_typedescription_Callback pCallback ) noexcept
 {
     TypeDescriptor_Init_Impl &rInit = Init();
     {
@@ -471,8 +469,7 @@ bool complete(typelib_TypeDescription ** ppTypeDescr, bool 
initTables) {
 
 extern "C" void typelib_typedescription_newEmpty(
     typelib_TypeDescription ** ppRet,
-    typelib_TypeClass eTypeClass, rtl_uString * pTypeName )
-    SAL_THROW_EXTERN_C()
+    typelib_TypeClass eTypeClass, rtl_uString * pTypeName ) noexcept
 {
     if( *ppRet )
     {
@@ -768,8 +765,7 @@ extern "C" void SAL_CALL typelib_typedescription_new(
     rtl_uString * pTypeName,
     typelib_TypeDescriptionReference * pType,
     sal_Int32 nMembers,
-    typelib_CompoundMember_Init * pMembers )
-    SAL_THROW_EXTERN_C()
+    typelib_CompoundMember_Init * pMembers ) noexcept
 {
     newTypeDescription(
         ppRet, eTypeClass, pTypeName, pType, nMembers, pMembers, nullptr);
@@ -780,8 +776,7 @@ extern "C" void SAL_CALL typelib_typedescription_newStruct(
     rtl_uString * pTypeName,
     typelib_TypeDescriptionReference * pType,
     sal_Int32 nMembers,
-    typelib_StructMember_Init * pMembers )
-    SAL_THROW_EXTERN_C()
+    typelib_StructMember_Init * pMembers ) noexcept
 {
     newTypeDescription(
         ppRet, typelib_TypeClass_STRUCT, pTypeName, pType, nMembers, nullptr,
@@ -795,8 +790,7 @@ extern "C" void SAL_CALL typelib_typedescription_newEnum(
     sal_Int32 nDefaultValue,
     sal_Int32 nEnumValues,
     rtl_uString ** ppEnumNames,
-    sal_Int32 * pEnumValues )
-    SAL_THROW_EXTERN_C()
+    sal_Int32 * pEnumValues ) noexcept
 {
     typelib_typedescription_newEmpty( ppRet, typelib_TypeClass_ENUM, pTypeName 
);
     typelib_EnumTypeDescription * pEnum = 
reinterpret_cast<typelib_EnumTypeDescription *>(*ppRet);
@@ -828,8 +822,7 @@ extern "C" void SAL_CALL 
typelib_typedescription_newInterface(
     SAL_UNUSED_PARAMETER sal_uInt32,
     typelib_TypeDescriptionReference * pBaseInterface,
     sal_Int32 nMembers,
-    typelib_TypeDescriptionReference ** ppMembers )
-    SAL_THROW_EXTERN_C()
+    typelib_TypeDescriptionReference ** ppMembers ) noexcept
 {
     // coverity[callee_ptr_arith] - not a bug
     typelib_typedescription_newMIInterface(
@@ -918,8 +911,7 @@ extern "C" void SAL_CALL 
typelib_typedescription_newMIInterface(
     sal_Int32 nBaseInterfaces,
     typelib_TypeDescriptionReference ** ppBaseInterfaces,
     sal_Int32 nMembers,
-    typelib_TypeDescriptionReference ** ppMembers )
-    SAL_THROW_EXTERN_C()
+    typelib_TypeDescriptionReference ** ppMembers ) noexcept
 {
     if (*ppRet != nullptr) {
         typelib_typedescription_release(&(*ppRet)->aBase);
@@ -1049,8 +1041,7 @@ extern "C" void SAL_CALL 
typelib_typedescription_newInterfaceMethod(
     sal_Int32 nParams,
     typelib_Parameter_Init * pParams,
     sal_Int32 nExceptions,
-    rtl_uString ** ppExceptionNames )
-    SAL_THROW_EXTERN_C()
+    rtl_uString ** ppExceptionNames ) noexcept
 {
     if (*ppRet != nullptr) {
         typelib_typedescription_release(&(*ppRet)->aBase.aBase);
@@ -1123,8 +1114,7 @@ extern "C" void SAL_CALL 
typelib_typedescription_newInterfaceAttribute(
     rtl_uString * pTypeName,
     typelib_TypeClass eAttributeTypeClass,
     rtl_uString * pAttributeTypeName,
-    sal_Bool bReadOnly )
-    SAL_THROW_EXTERN_C()
+    sal_Bool bReadOnly ) noexcept
 {
     typelib_typedescription_newExtendedInterfaceAttribute(
         ppRet, nAbsolutePosition, pTypeName, eAttributeTypeClass,
@@ -1140,8 +1130,7 @@ extern "C" void SAL_CALL 
typelib_typedescription_newExtendedInterfaceAttribute(
     rtl_uString * pAttributeTypeName,
     sal_Bool bReadOnly,
     sal_Int32 nGetExceptions, rtl_uString ** ppGetExceptionNames,
-    sal_Int32 nSetExceptions, rtl_uString ** ppSetExceptionNames )
-    SAL_THROW_EXTERN_C()
+    sal_Int32 nSetExceptions, rtl_uString ** ppSetExceptionNames ) noexcept
 {
     if (*ppRet != nullptr) {
         typelib_typedescription_release(&(*ppRet)->aBase.aBase);
@@ -1195,8 +1184,7 @@ extern "C" void SAL_CALL 
typelib_typedescription_newExtendedInterfaceAttribute(
 
 
 extern "C" void SAL_CALL typelib_typedescription_acquire(
-    typelib_TypeDescription * pTypeDescription )
-    SAL_THROW_EXTERN_C()
+    typelib_TypeDescription * pTypeDescription ) noexcept
 {
     osl_atomic_increment( &pTypeDescription->nRefCount );
 }
@@ -1323,8 +1311,7 @@ static void 
typelib_typedescription_destructExtendedMembers(
 
 
 extern "C" void SAL_CALL typelib_typedescription_release(
-    typelib_TypeDescription * pTD )
-    SAL_THROW_EXTERN_C()
+    typelib_TypeDescription * pTD ) noexcept
 {
     sal_Int32 ref = osl_atomic_decrement( &pTD->nRefCount );
     OSL_ASSERT(ref >= 0);
@@ -1391,8 +1378,7 @@ extern "C" void SAL_CALL typelib_typedescription_release(
 
 
 extern "C" void SAL_CALL typelib_typedescription_register(
-    typelib_TypeDescription ** ppNewDescription )
-    SAL_THROW_EXTERN_C()
+    typelib_TypeDescription ** ppNewDescription ) noexcept
 {
     // connect the description with the weak reference
     TypeDescriptor_Init_Impl &rInit = Init();
@@ -1607,8 +1593,7 @@ static bool type_equals(
              rtl_ustr_compare( p1->pTypeName->buffer, p2->pTypeName->buffer ) 
== 0));
 }
 extern "C" sal_Bool SAL_CALL typelib_typedescription_equals(
-    const typelib_TypeDescription * p1, const typelib_TypeDescription * p2 )
-    SAL_THROW_EXTERN_C()
+    const typelib_TypeDescription * p1, const typelib_TypeDescription * p2 ) 
noexcept
 {
     return type_equals(
         reinterpret_cast<typelib_TypeDescriptionReference const *>(p1), 
reinterpret_cast<typelib_TypeDescriptionReference const *>(p2) );
@@ -1617,8 +1602,7 @@ extern "C" sal_Bool SAL_CALL 
typelib_typedescription_equals(
 
 extern "C" sal_Int32 typelib_typedescription_getAlignedUnoSize(
     const typelib_TypeDescription * pTypeDescription,
-    sal_Int32 nOffset, sal_Int32 & rMaxIntegralTypeSize )
-    SAL_THROW_EXTERN_C()
+    sal_Int32 nOffset, sal_Int32 & rMaxIntegralTypeSize ) noexcept
 {
     sal_Int32 nSize;
     if( pTypeDescription->nSize )
@@ -1858,8 +1842,7 @@ bool createDerivedInterfaceMemberDescription(
 }
 
 extern "C" void SAL_CALL typelib_typedescription_getByName(
-    typelib_TypeDescription ** ppRet, rtl_uString * pName )
-    SAL_THROW_EXTERN_C()
+    typelib_TypeDescription ** ppRet, rtl_uString * pName ) noexcept
 {
     if( *ppRet )
     {
@@ -2032,8 +2015,7 @@ extern "C" void SAL_CALL 
typelib_typedescription_getByName(
 extern "C" void SAL_CALL typelib_typedescriptionreference_newByAsciiName(
     typelib_TypeDescriptionReference ** ppTDR,
     typelib_TypeClass eTypeClass,
-    const char * pTypeName )
-    SAL_THROW_EXTERN_C()
+    const char * pTypeName ) noexcept
 {
     OUString aTypeName( OUString::createFromAscii( pTypeName ) );
     typelib_typedescriptionreference_new( ppTDR, eTypeClass, aTypeName.pData );
@@ -2041,8 +2023,7 @@ extern "C" void SAL_CALL 
typelib_typedescriptionreference_newByAsciiName(
 
 extern "C" void SAL_CALL typelib_typedescriptionreference_new(
     typelib_TypeDescriptionReference ** ppTDR,
-    typelib_TypeClass eTypeClass, rtl_uString * pTypeName )
-    SAL_THROW_EXTERN_C()
+    typelib_TypeClass eTypeClass, rtl_uString * pTypeName ) noexcept
 {
     TypeDescriptor_Init_Impl &rInit = Init();
     if( eTypeClass == typelib_TypeClass_TYPEDEF )
@@ -2131,16 +2112,14 @@ extern "C" void SAL_CALL 
typelib_typedescriptionreference_new(
 
 
 extern "C" void SAL_CALL typelib_typedescriptionreference_acquire(
-    typelib_TypeDescriptionReference * pRef )
-    SAL_THROW_EXTERN_C()
+    typelib_TypeDescriptionReference * pRef ) noexcept
 {
     osl_atomic_increment( &pRef->nRefCount );
 }
 
 
 extern "C" void SAL_CALL typelib_typedescriptionreference_release(
-    typelib_TypeDescriptionReference * pRef )
-    SAL_THROW_EXTERN_C()
+    typelib_TypeDescriptionReference * pRef ) noexcept
 {
     // Is it a type description?
     if( TYPELIB_TYPEDESCRIPTIONREFERENCE_ISREALLYWEAK( pRef->eTypeClass ) )
@@ -2172,8 +2151,7 @@ extern "C" void SAL_CALL 
typelib_typedescriptionreference_release(
 
 
 extern "C" void SAL_CALL typelib_typedescriptionreference_getDescription(
-    typelib_TypeDescription ** ppRet, typelib_TypeDescriptionReference * pRef )
-    SAL_THROW_EXTERN_C()
+    typelib_TypeDescription ** ppRet, typelib_TypeDescriptionReference * pRef 
) noexcept
 {
     if( *ppRet )
     {
@@ -2218,8 +2196,7 @@ extern "C" void SAL_CALL 
typelib_typedescriptionreference_getDescription(
 
 
 extern "C" void typelib_typedescriptionreference_getByName(
-    typelib_TypeDescriptionReference ** ppRet, rtl_uString const * pName )
-    SAL_THROW_EXTERN_C()
+    typelib_TypeDescriptionReference ** ppRet, rtl_uString const * pName ) 
noexcept
 {
     if( *ppRet )
     {
@@ -2251,8 +2228,7 @@ extern "C" void 
typelib_typedescriptionreference_getByName(
 
 extern "C" sal_Bool SAL_CALL typelib_typedescriptionreference_equals(
     const typelib_TypeDescriptionReference * p1,
-    const typelib_TypeDescriptionReference * p2 )
-    SAL_THROW_EXTERN_C()
+    const typelib_TypeDescriptionReference * p2 ) noexcept
 {
     return (p1 == p2 ||
             (p1->eTypeClass == p2->eTypeClass &&
@@ -2263,8 +2239,7 @@ extern "C" sal_Bool SAL_CALL 
typelib_typedescriptionreference_equals(
 
 extern "C" void SAL_CALL typelib_typedescriptionreference_assign(
     typelib_TypeDescriptionReference ** ppDest,
-    typelib_TypeDescriptionReference * pSource )
-    SAL_THROW_EXTERN_C()
+    typelib_TypeDescriptionReference * pSource ) noexcept
 {
     if (*ppDest != pSource)
     {
@@ -2275,8 +2250,7 @@ extern "C" void SAL_CALL 
typelib_typedescriptionreference_assign(
 }
 
 
-extern "C" void SAL_CALL typelib_setCacheSize( sal_Int32 )
-    SAL_THROW_EXTERN_C()
+extern "C" void SAL_CALL typelib_setCacheSize( sal_Int32 ) noexcept
 {
 }
 
@@ -2300,8 +2274,7 @@ const bool s_aAssignableFromTab[11][11] =
 
 extern "C" sal_Bool SAL_CALL typelib_typedescriptionreference_isAssignableFrom(
     typelib_TypeDescriptionReference * pAssignable,
-    typelib_TypeDescriptionReference * pFrom )
-    SAL_THROW_EXTERN_C()
+    typelib_TypeDescriptionReference * pFrom ) noexcept
 {
     if (!pAssignable || !pFrom)
         return false;
@@ -2368,8 +2341,7 @@ extern "C" sal_Bool SAL_CALL 
typelib_typedescriptionreference_isAssignableFrom(
 
 extern "C" sal_Bool SAL_CALL typelib_typedescription_isAssignableFrom(
     typelib_TypeDescription * pAssignable,
-    typelib_TypeDescription * pFrom )
-    SAL_THROW_EXTERN_C()
+    typelib_TypeDescription * pFrom ) noexcept
 {
     return typelib_typedescriptionreference_isAssignableFrom(
         pAssignable->pWeakRef, pFrom->pWeakRef );
@@ -2377,8 +2349,7 @@ extern "C" sal_Bool SAL_CALL 
typelib_typedescription_isAssignableFrom(
 
 
 extern "C" sal_Bool SAL_CALL typelib_typedescription_complete(
-    typelib_TypeDescription ** ppTypeDescr )
-    SAL_THROW_EXTERN_C()
+    typelib_TypeDescription ** ppTypeDescr ) noexcept
 {
     return complete(ppTypeDescr, true);
 }
diff --git a/cppu/source/uno/EnvStack.cxx b/cppu/source/uno/EnvStack.cxx
index 7b7df2cefc5a..c44fa283f1a5 100644
--- a/cppu/source/uno/EnvStack.cxx
+++ b/cppu/source/uno/EnvStack.cxx
@@ -105,8 +105,7 @@ static uno_Environment * s_getCurrent()
 }
 
 
-extern "C" void SAL_CALL uno_getCurrentEnvironment(uno_Environment ** ppEnv, 
rtl_uString * pTypeName)
-    SAL_THROW_EXTERN_C()
+extern "C" void SAL_CALL uno_getCurrentEnvironment(uno_Environment ** ppEnv, 
rtl_uString * pTypeName) noexcept
 {
     if (*ppEnv)
     {
@@ -306,14 +305,12 @@ static void s_environment_invoke_v(uno_Environment * 
pCurrEnv, uno_Environment *
         pNextEnv->release(pNextEnv);
 }
 
-extern "C" void SAL_CALL uno_Environment_invoke_v(uno_Environment * 
pTargetEnv, uno_EnvCallee * pCallee, va_list * pParam)
-    SAL_THROW_EXTERN_C()
+extern "C" void SAL_CALL uno_Environment_invoke_v(uno_Environment * 
pTargetEnv, uno_EnvCallee * pCallee, va_list * pParam) noexcept
 {
     s_environment_invoke_v(s_getCurrent(), pTargetEnv, pCallee, pParam);
 }
 
-extern "C" void SAL_CALL uno_Environment_invoke(uno_Environment * pEnv, 
uno_EnvCallee * pCallee, ...)
-    SAL_THROW_EXTERN_C()
+extern "C" void SAL_CALL uno_Environment_invoke(uno_Environment * pEnv, 
uno_EnvCallee * pCallee, ...) noexcept
 {
     va_list param;
 
@@ -322,8 +319,7 @@ extern "C" void SAL_CALL 
uno_Environment_invoke(uno_Environment * pEnv, uno_EnvC
     va_end(param);
 }
 
-extern "C" void SAL_CALL uno_Environment_enter(uno_Environment * pTargetEnv)
-    SAL_THROW_EXTERN_C()
+extern "C" void SAL_CALL uno_Environment_enter(uno_Environment * pTargetEnv) 
noexcept
 {
     uno_Environment * pNextEnv = nullptr;
     uno_Environment * pCurrEnv = s_getCurrent();
@@ -355,8 +351,7 @@ extern "C" void SAL_CALL 
uno_Environment_enter(uno_Environment * pTargetEnv)
     }
 }
 
-int SAL_CALL uno_Environment_isValid(uno_Environment * pEnv, rtl_uString ** 
pReason)
-    SAL_THROW_EXTERN_C()
+int SAL_CALL uno_Environment_isValid(uno_Environment * pEnv, rtl_uString ** 
pReason) noexcept
 {
     int result = 1;
 
diff --git a/cppu/source/uno/any.cxx b/cppu/source/uno/any.cxx
index e26b97286d01..342e760d0832 100644
--- a/cppu/source/uno/any.cxx
+++ b/cppu/source/uno/any.cxx
@@ -30,8 +30,7 @@ extern "C"
 void SAL_CALL uno_type_any_assign(
     uno_Any * pDest, void * pSource,
     typelib_TypeDescriptionReference * pType,
-    uno_AcquireFunc acquire, uno_ReleaseFunc release )
-    SAL_THROW_EXTERN_C()
+    uno_AcquireFunc acquire, uno_ReleaseFunc release ) noexcept
 {
     _destructAny( pDest, release );
     if (pType)
@@ -47,8 +46,7 @@ void SAL_CALL uno_type_any_assign(
 void SAL_CALL uno_any_assign(
     uno_Any * pDest, void * pSource,
     typelib_TypeDescription * pTypeDescr,
-    uno_AcquireFunc acquire, uno_ReleaseFunc release )
-    SAL_THROW_EXTERN_C()
+    uno_AcquireFunc acquire, uno_ReleaseFunc release ) noexcept
 {
     _destructAny( pDest, release );
     if (pTypeDescr)
@@ -64,8 +62,7 @@ void SAL_CALL uno_any_assign(
 void SAL_CALL uno_type_any_construct(
     uno_Any * pDest, void * pSource,
     typelib_TypeDescriptionReference * pType,
-    uno_AcquireFunc acquire )
-    SAL_THROW_EXTERN_C()
+    uno_AcquireFunc acquire ) noexcept
 {
     if (pType)
     {
@@ -80,8 +77,7 @@ void SAL_CALL uno_type_any_construct(
 void SAL_CALL uno_any_construct(
     uno_Any * pDest, void * pSource,
     typelib_TypeDescription * pTypeDescr,
-    uno_AcquireFunc acquire )
-    SAL_THROW_EXTERN_C()
+    uno_AcquireFunc acquire ) noexcept
 {
     if (pTypeDescr)
     {
@@ -96,8 +92,7 @@ void SAL_CALL uno_any_construct(
 void SAL_CALL uno_type_any_constructAndConvert(
     uno_Any * pDest, void * pSource,
     typelib_TypeDescriptionReference * pType,
-    uno_Mapping * mapping )
-    SAL_THROW_EXTERN_C()
+    uno_Mapping * mapping ) noexcept
 {
     if (pType)
     {
@@ -112,8 +107,7 @@ void SAL_CALL uno_type_any_constructAndConvert(
 void SAL_CALL uno_any_constructAndConvert(
     uno_Any * pDest, void * pSource,
     typelib_TypeDescription * pTypeDescr,
-    uno_Mapping * mapping )
-    SAL_THROW_EXTERN_C()
+    uno_Mapping * mapping ) noexcept
 {
     if (pTypeDescr)
     {
@@ -125,14 +119,12 @@ void SAL_CALL uno_any_constructAndConvert(
     }
 }
 
-void SAL_CALL uno_any_destruct( uno_Any * pValue, uno_ReleaseFunc release )
-    SAL_THROW_EXTERN_C()
+void SAL_CALL uno_any_destruct( uno_Any * pValue, uno_ReleaseFunc release ) 
noexcept
 {
     _destructAny( pValue, release );
 }
 
-void SAL_CALL uno_any_clear( uno_Any * pValue, uno_ReleaseFunc release )
-    SAL_THROW_EXTERN_C()
+void SAL_CALL uno_any_clear( uno_Any * pValue, uno_ReleaseFunc release ) 
noexcept
 {
     _destructAny( pValue, release );
     CONSTRUCT_EMPTY_ANY( pValue );
diff --git a/cppu/source/uno/cascade_mapping.cxx 
b/cppu/source/uno/cascade_mapping.cxx
index 97aaa16ca09a..393d00c27f2d 100644
--- a/cppu/source/uno/cascade_mapping.cxx
+++ b/cppu/source/uno/cascade_mapping.cxx
@@ -149,8 +149,7 @@ void MediatorMapping::mapInterface(
     *ppOut = ret;
 }
 
-extern "C" { static void s_MediatorMapping_free(uno_Mapping * pMapping)
-    SAL_THROW_EXTERN_C()
+extern "C" { static void s_MediatorMapping_free(uno_Mapping * pMapping) 
noexcept
 {
     delete static_cast<MediatorMapping *>(pMapping);
 }}
diff --git a/cppu/source/uno/data.cxx b/cppu/source/uno/data.cxx
index 339e650fe411..e6279c8bfdbb 100644
--- a/cppu/source/uno/data.cxx
+++ b/cppu/source/uno/data.cxx
@@ -169,23 +169,20 @@ extern "C"
 {
 
 void SAL_CALL uno_type_constructData(
-    void * pMem, typelib_TypeDescriptionReference * pType )
-    SAL_THROW_EXTERN_C()
+    void * pMem, typelib_TypeDescriptionReference * pType ) noexcept
 {
     _defaultConstructData( pMem, pType, nullptr );
 }
 
 void SAL_CALL uno_constructData(
-    void * pMem, typelib_TypeDescription * pTypeDescr )
-    SAL_THROW_EXTERN_C()
+    void * pMem, typelib_TypeDescription * pTypeDescr ) noexcept
 {
     _defaultConstructData( pMem, pTypeDescr->pWeakRef, pTypeDescr );
 }
 
 void SAL_CALL uno_type_destructData(
     void * pValue, typelib_TypeDescriptionReference * pType,
-    uno_ReleaseFunc release )
-    SAL_THROW_EXTERN_C()
+    uno_ReleaseFunc release ) noexcept
 {
     _destructData( pValue, pType, nullptr, release );
 }
@@ -193,8 +190,7 @@ void SAL_CALL uno_type_destructData(
 void SAL_CALL uno_destructData(
     void * pValue,
     typelib_TypeDescription * pTypeDescr,
-    uno_ReleaseFunc release )
-    SAL_THROW_EXTERN_C()
+    uno_ReleaseFunc release ) noexcept
 {
     _destructData( pValue, pTypeDescr->pWeakRef, pTypeDescr, release );
 }
@@ -202,8 +198,7 @@ void SAL_CALL uno_destructData(
 void SAL_CALL uno_type_copyData(
     void * pDest, void * pSource,
     typelib_TypeDescriptionReference * pType,
-    uno_AcquireFunc acquire )
-    SAL_THROW_EXTERN_C()
+    uno_AcquireFunc acquire ) noexcept
 {
     _copyConstructData( pDest, pSource, pType, nullptr, acquire, nullptr );
 }
@@ -211,8 +206,7 @@ void SAL_CALL uno_type_copyData(
 void SAL_CALL uno_copyData(
     void * pDest, void * pSource,
     typelib_TypeDescription * pTypeDescr,
-    uno_AcquireFunc acquire )
-    SAL_THROW_EXTERN_C()
+    uno_AcquireFunc acquire ) noexcept
 {
     _copyConstructData( pDest, pSource, pTypeDescr->pWeakRef, pTypeDescr, 
acquire, nullptr );
 }
@@ -220,8 +214,7 @@ void SAL_CALL uno_copyData(
 void SAL_CALL uno_type_copyAndConvertData(
     void * pDest, void * pSource,
     typelib_TypeDescriptionReference * pType,
-    uno_Mapping * mapping )
-    SAL_THROW_EXTERN_C()
+    uno_Mapping * mapping ) noexcept
 {
     _copyConstructData( pDest, pSource, pType, nullptr, nullptr, mapping );
 }
@@ -229,8 +222,7 @@ void SAL_CALL uno_type_copyAndConvertData(
 void SAL_CALL uno_copyAndConvertData(
     void * pDest, void * pSource,
     typelib_TypeDescription * pTypeDescr,
-    uno_Mapping * mapping )
-    SAL_THROW_EXTERN_C()
+    uno_Mapping * mapping ) noexcept
 {
     _copyConstructData( pDest, pSource, pTypeDescr->pWeakRef, pTypeDescr, 
nullptr, mapping );
 }
@@ -238,8 +230,7 @@ void SAL_CALL uno_copyAndConvertData(
 sal_Bool SAL_CALL uno_type_equalData(
     void * pVal1, typelib_TypeDescriptionReference * pVal1Type,
     void * pVal2, typelib_TypeDescriptionReference * pVal2Type,
-    uno_QueryInterfaceFunc queryInterface, uno_ReleaseFunc release )
-    SAL_THROW_EXTERN_C()
+    uno_QueryInterfaceFunc queryInterface, uno_ReleaseFunc release ) noexcept
 {
     return _equalData(
         pVal1, pVal1Type, nullptr,
@@ -250,8 +241,7 @@ sal_Bool SAL_CALL uno_type_equalData(
 sal_Bool SAL_CALL uno_equalData(
     void * pVal1, typelib_TypeDescription * pVal1TD,
     void * pVal2, typelib_TypeDescription * pVal2TD,
-    uno_QueryInterfaceFunc queryInterface, uno_ReleaseFunc release )
-    SAL_THROW_EXTERN_C()
+    uno_QueryInterfaceFunc queryInterface, uno_ReleaseFunc release ) noexcept
 {
     return _equalData(
         pVal1, pVal1TD->pWeakRef, pVal1TD,
@@ -262,8 +252,7 @@ sal_Bool SAL_CALL uno_equalData(
 sal_Bool SAL_CALL uno_type_assignData(
     void * pDest, typelib_TypeDescriptionReference * pDestType,
     void * pSource, typelib_TypeDescriptionReference * pSourceType,
-    uno_QueryInterfaceFunc queryInterface, uno_AcquireFunc acquire, 
uno_ReleaseFunc release )
-    SAL_THROW_EXTERN_C()
+    uno_QueryInterfaceFunc queryInterface, uno_AcquireFunc acquire, 
uno_ReleaseFunc release ) noexcept
 {
     return _assignData(
         pDest, pDestType, nullptr,
@@ -274,8 +263,7 @@ sal_Bool SAL_CALL uno_type_assignData(
 sal_Bool SAL_CALL uno_assignData(
     void * pDest, typelib_TypeDescription * pDestTD,
     void * pSource, typelib_TypeDescription * pSourceTD,
-    uno_QueryInterfaceFunc queryInterface, uno_AcquireFunc acquire, 
uno_ReleaseFunc release )
-    SAL_THROW_EXTERN_C()
+    uno_QueryInterfaceFunc queryInterface, uno_AcquireFunc acquire, 
uno_ReleaseFunc release ) noexcept
 {
     return _assignData(
         pDest, pDestTD->pWeakRef, pDestTD,
@@ -286,8 +274,7 @@ sal_Bool SAL_CALL uno_assignData(
 sal_Bool SAL_CALL uno_type_isAssignableFromData(
     typelib_TypeDescriptionReference * pAssignable,
     void * pFrom, typelib_TypeDescriptionReference * pFromType,
-    uno_QueryInterfaceFunc queryInterface, uno_ReleaseFunc release )
-    SAL_THROW_EXTERN_C()
+    uno_QueryInterfaceFunc queryInterface, uno_ReleaseFunc release ) noexcept
 {
     if (::typelib_typedescriptionreference_isAssignableFrom( pAssignable, 
pFromType ))
         return true;
diff --git a/cppu/source/uno/lbenv.cxx b/cppu/source/uno/lbenv.cxx
index ef1509f37d04..32a145e3de35 100644
--- a/cppu/source/uno/lbenv.cxx
+++ b/cppu/source/uno/lbenv.cxx
@@ -682,8 +682,7 @@ void writeLine(
 }
 
 extern "C" void SAL_CALL uno_dumpEnvironment(
-    void * stream, uno_Environment * pEnv, const char * pFilter )
-    SAL_THROW_EXTERN_C()
+    void * stream, uno_Environment * pEnv, const char * pFilter ) noexcept
 {
     assert(pEnv && "### null ptr!");
     OUStringBuffer buf;
@@ -764,8 +763,7 @@ extern "C" void SAL_CALL uno_dumpEnvironment(
 
 
 extern "C" void SAL_CALL uno_dumpEnvironmentByName(
-    void * stream, rtl_uString * pEnvDcp, const char * pFilter )
-    SAL_THROW_EXTERN_C()
+    void * stream, rtl_uString * pEnvDcp, const char * pFilter ) noexcept
 {
     uno_Environment * pEnv = nullptr;
     uno_getEnvironment( &pEnv, pEnvDcp, nullptr );
@@ -1089,8 +1087,7 @@ static uno_Environment * initDefaultEnvironment(
 
 
 void SAL_CALL uno_createEnvironment(
-    uno_Environment ** ppEnv, rtl_uString * pEnvDcp, void * pContext )
-    SAL_THROW_EXTERN_C()
+    uno_Environment ** ppEnv, rtl_uString * pEnvDcp, void * pContext ) noexcept
 {
     assert(ppEnv && "### null ptr!");
     if (*ppEnv)
@@ -1101,8 +1098,7 @@ void SAL_CALL uno_createEnvironment(
 }
 
 void SAL_CALL uno_getEnvironment(
-    uno_Environment ** ppEnv, rtl_uString * pEnvDcp, void * pContext )
-    SAL_THROW_EXTERN_C()
+    uno_Environment ** ppEnv, rtl_uString * pEnvDcp, void * pContext ) noexcept
 {
     assert(ppEnv && "### null ptr!");
     OUString const & rEnvDcp = OUString::unacquired( &pEnvDcp );
@@ -1124,8 +1120,7 @@ void SAL_CALL uno_getEnvironment(
 
 void SAL_CALL uno_getRegisteredEnvironments(
     uno_Environment *** pppEnvs, sal_Int32 * pnLen, uno_memAlloc memAlloc,
-    rtl_uString * pEnvDcp )
-    SAL_THROW_EXTERN_C()
+    rtl_uString * pEnvDcp ) noexcept
 {
     EnvironmentsData & rData = theEnvironmentsData();
 
diff --git a/cppu/source/uno/lbmap.cxx b/cppu/source/uno/lbmap.cxx
index a2a554b84cf6..dc135a2be484 100644
--- a/cppu/source/uno/lbmap.cxx
+++ b/cppu/source/uno/lbmap.cxx
@@ -578,8 +578,7 @@ extern "C"
 
 void SAL_CALL uno_getMapping(
     uno_Mapping ** ppMapping, uno_Environment * pFrom, uno_Environment * pTo,
-    rtl_uString * pAddPurpose )
-    SAL_THROW_EXTERN_C()
+    rtl_uString * pAddPurpose ) noexcept
 {
     assert(ppMapping != nullptr);
     assert(pFrom != nullptr);
@@ -644,8 +643,7 @@ void SAL_CALL uno_getMapping(
 
 void SAL_CALL uno_getMappingByName(
     uno_Mapping ** ppMapping, rtl_uString * pFrom, rtl_uString * pTo,
-    rtl_uString * pAddPurpose )
-    SAL_THROW_EXTERN_C()
+    rtl_uString * pAddPurpose ) noexcept
 {
     assert(ppMapping && pFrom && pTo && "### null ptr!");
     if (*ppMapping)
@@ -674,8 +672,7 @@ void SAL_CALL uno_getMappingByName(
 
 void SAL_CALL uno_registerMapping(
     uno_Mapping ** ppMapping, uno_freeMappingFunc freeMapping,
-    uno_Environment * pFrom, uno_Environment * pTo, rtl_uString * pAddPurpose )
-    SAL_THROW_EXTERN_C()
+    uno_Environment * pFrom, uno_Environment * pTo, rtl_uString * pAddPurpose 
) noexcept
 {
     MappingsData & rData = getMappingsData();
     ClearableMutexGuard aGuard( rData.aMappingsMutex );
@@ -708,8 +705,7 @@ void SAL_CALL uno_registerMapping(
 }
 
 void SAL_CALL uno_revokeMapping(
-    uno_Mapping * pMapping )
-    SAL_THROW_EXTERN_C()
+    uno_Mapping * pMapping ) noexcept
 {
     MappingsData & rData = getMappingsData();
     ClearableMutexGuard aGuard( rData.aMappingsMutex );
@@ -730,8 +726,7 @@ void SAL_CALL uno_revokeMapping(
 
 
 void SAL_CALL uno_registerMappingCallback(
-    uno_getMappingFunc pCallback )
-    SAL_THROW_EXTERN_C()
+    uno_getMappingFunc pCallback ) noexcept
 {
     OSL_ENSURE( pCallback, "### null ptr!" );
     MappingsData & rData = getMappingsData();
@@ -740,8 +735,7 @@ void SAL_CALL uno_registerMappingCallback(
 }
 
 void SAL_CALL uno_revokeMappingCallback(
-    uno_getMappingFunc pCallback )
-    SAL_THROW_EXTERN_C()
+    uno_getMappingFunc pCallback ) noexcept
 {
     OSL_ENSURE( pCallback, "### null ptr!" );
     MappingsData & rData = getMappingsData();
diff --git a/cppu/source/uno/sequence.cxx b/cppu/source/uno/sequence.cxx
index 1a8da6d53c96..e249f7549780 100644
--- a/cppu/source/uno/sequence.cxx
+++ b/cppu/source/uno/sequence.cxx
@@ -668,8 +668,7 @@ extern "C"
 sal_Bool SAL_CALL uno_type_sequence_construct(
     uno_Sequence ** ppSequence, typelib_TypeDescriptionReference * pType,
     void * pElements, sal_Int32 len,
-    uno_AcquireFunc acquire )
-    SAL_THROW_EXTERN_C()
+    uno_AcquireFunc acquire ) noexcept
 {
     assert( len >= 0 );
     bool ret;
@@ -716,8 +715,7 @@ sal_Bool SAL_CALL uno_type_sequence_construct(
 sal_Bool SAL_CALL uno_sequence_construct(
     uno_Sequence ** ppSequence, typelib_TypeDescription * pTypeDescr,
     void * pElements, sal_Int32 len,
-    uno_AcquireFunc acquire )
-    SAL_THROW_EXTERN_C()
+    uno_AcquireFunc acquire ) noexcept
 {
     bool ret;
     if (len > 0)
@@ -754,8 +752,7 @@ sal_Bool SAL_CALL uno_sequence_construct(
 
 sal_Bool SAL_CALL uno_type_sequence_realloc(
     uno_Sequence ** ppSequence, typelib_TypeDescriptionReference * pType,
-    sal_Int32 nSize, uno_AcquireFunc acquire, uno_ReleaseFunc release )
-    SAL_THROW_EXTERN_C()
+    sal_Int32 nSize, uno_AcquireFunc acquire, uno_ReleaseFunc release ) 
noexcept
 {
     assert(ppSequence && "### null ptr!");
     assert(nSize >= 0 && "### new size must be at least 0!");
@@ -776,8 +773,7 @@ sal_Bool SAL_CALL uno_type_sequence_realloc(
 
 sal_Bool SAL_CALL uno_sequence_realloc(
     uno_Sequence ** ppSequence, typelib_TypeDescription * pTypeDescr,
-    sal_Int32 nSize, uno_AcquireFunc acquire, uno_ReleaseFunc release )
-    SAL_THROW_EXTERN_C()
+    sal_Int32 nSize, uno_AcquireFunc acquire, uno_ReleaseFunc release ) 
noexcept
 {
     assert(ppSequence && "### null ptr!");
     OSL_ENSURE( nSize >= 0, "### new size must be at least 0!" );
@@ -796,8 +792,7 @@ sal_Bool SAL_CALL uno_sequence_realloc(
 sal_Bool SAL_CALL uno_type_sequence_reference2One(
     uno_Sequence ** ppSequence,
     typelib_TypeDescriptionReference * pType,
-    uno_AcquireFunc acquire, uno_ReleaseFunc release )
-    SAL_THROW_EXTERN_C()
+    uno_AcquireFunc acquire, uno_ReleaseFunc release ) noexcept
 {
     assert(ppSequence && "### null ptr!");
     bool ret = true;
@@ -843,8 +838,7 @@ sal_Bool SAL_CALL uno_type_sequence_reference2One(
 sal_Bool SAL_CALL uno_sequence_reference2One(
     uno_Sequence ** ppSequence,
     typelib_TypeDescription * pTypeDescr,
-    uno_AcquireFunc acquire, uno_ReleaseFunc release )
-    SAL_THROW_EXTERN_C()
+    uno_AcquireFunc acquire, uno_ReleaseFunc release ) noexcept
 {
     assert(ppSequence && "### null ptr!");
     bool ret = true;
@@ -888,8 +882,7 @@ void SAL_CALL uno_sequence_assign(
     uno_Sequence ** ppDest,
     uno_Sequence * pSource,
     typelib_TypeDescription * pTypeDescr,
-    uno_ReleaseFunc release )
-    SAL_THROW_EXTERN_C()
+    uno_ReleaseFunc release ) noexcept
 {
     if (*ppDest != pSource)
     {
@@ -904,8 +897,7 @@ void SAL_CALL uno_type_sequence_assign(
     uno_Sequence ** ppDest,
     uno_Sequence * pSource,
     typelib_TypeDescriptionReference * pType,
-    uno_ReleaseFunc release )
-    SAL_THROW_EXTERN_C()
+    uno_ReleaseFunc release ) noexcept
 {
     if (*ppDest != pSource)
     {
@@ -917,8 +909,7 @@ void SAL_CALL uno_type_sequence_assign(
 
 void uno_type_sequence_destroy(
     uno_Sequence * sequence, typelib_TypeDescriptionReference * type,
-    uno_ReleaseFunc release)
-    SAL_THROW_EXTERN_C()
+    uno_ReleaseFunc release) noexcept
 {
     idestroySequence(sequence, type, nullptr, release);
 }
diff --git a/cppuhelper/source/propshlp.cxx b/cppuhelper/source/propshlp.cxx
index 8a864e1bad6a..93bdc535ea2c 100644
--- a/cppuhelper/source/propshlp.cxx
+++ b/cppuhelper/source/propshlp.cxx
@@ -56,8 +56,7 @@ static const css::uno::Type & getVetoableTypeIdentifier()
 
 extern "C" {
 
-static int compare_OUString_Property_Impl( const void *arg1, const void *arg2 )
-    SAL_THROW_EXTERN_C()
+static int compare_OUString_Property_Impl( const void *arg1, const void *arg2 
) noexcept
 {
    return static_cast<OUString const *>(arg1)->compareTo( static_cast<Property 
const *>(arg2)->Name );
 }
@@ -969,8 +968,7 @@ void OPropertySetHelper2::enableChangeListenerNotification( 
sal_Bool bEnable )
 
 extern "C" {
 
-static int compare_Property_Impl( const void *arg1, const void *arg2 )
-    SAL_THROW_EXTERN_C()
+static int compare_Property_Impl( const void *arg1, const void *arg2 ) noexcept
 {
    return static_cast<Property const *>(arg1)->Name.compareTo( 
static_cast<Property const *>(arg2)->Name );
 }
diff --git a/sal/osl/all/debugbase.cxx b/sal/osl/all/debugbase.cxx
index 08fccf50316d..6f409d21c768 100644
--- a/sal/osl/all/debugbase.cxx
+++ b/sal/osl/all/debugbase.cxx
@@ -69,8 +69,7 @@ extern "C" {
 #pragma clang diagnostic ignored "-Wreturn-type-c-linkage"
 #endif
 
-osl::Mutex & SAL_CALL osl_detail_ObjectRegistry_getMutex()
-    SAL_THROW_EXTERN_C()
+osl::Mutex & SAL_CALL osl_detail_ObjectRegistry_getMutex() noexcept
 {
     static osl::Mutex aMutex;
     return aMutex;
@@ -79,8 +78,7 @@ osl::Mutex & SAL_CALL osl_detail_ObjectRegistry_getMutex()
 #pragma clang diagnostic pop
 #endif
 
-bool SAL_CALL osl_detail_ObjectRegistry_storeAddresses( char const* pName )
-    SAL_THROW_EXTERN_C()
+bool SAL_CALL osl_detail_ObjectRegistry_storeAddresses( char const* pName ) 
noexcept
 {
     std::vector<OString> const& rVec = StaticDebugBaseAddressFilter();
     if (rVec.empty())
@@ -95,8 +93,7 @@ bool SAL_CALL osl_detail_ObjectRegistry_storeAddresses( char 
const* pName )
 }
 
 bool SAL_CALL osl_detail_ObjectRegistry_checkObjectCount(
-    osl::detail::ObjectRegistryData const& rData, std::size_t nExpected )
-    SAL_THROW_EXTERN_C()
+    osl::detail::ObjectRegistryData const& rData, std::size_t nExpected ) 
noexcept
 {
     std::size_t nSize;
     if (rData.m_bStoreAddresses)
@@ -113,8 +110,7 @@ bool SAL_CALL osl_detail_ObjectRegistry_checkObjectCount(
 }
 
 void SAL_CALL osl_detail_ObjectRegistry_registerObject(
-    osl::detail::ObjectRegistryData & rData, void const* pObj )
-    SAL_THROW_EXTERN_C()
+    osl::detail::ObjectRegistryData & rData, void const* pObj ) noexcept
 {
     if (rData.m_bStoreAddresses) {
         osl::MutexGuard const guard( osl_detail_ObjectRegistry_getMutex() );
@@ -128,8 +124,7 @@ void SAL_CALL osl_detail_ObjectRegistry_registerObject(
 }
 
 void SAL_CALL osl_detail_ObjectRegistry_revokeObject(
-    osl::detail::ObjectRegistryData & rData, void const* pObj )
-    SAL_THROW_EXTERN_C()
+    osl::detail::ObjectRegistryData & rData, void const* pObj ) noexcept
 {
     if (rData.m_bStoreAddresses) {
         osl::MutexGuard const guard( osl_detail_ObjectRegistry_getMutex() );
diff --git a/sal/rtl/alloc_arena.cxx b/sal/rtl/alloc_arena.cxx
index 05e1b7ab212e..c628ba0aaafc 100644
--- a/sal/rtl/alloc_arena.cxx
+++ b/sal/rtl/alloc_arena.cxx
@@ -741,7 +741,7 @@ rtl_arena_type * SAL_CALL rtl_arena_create(
     void * (SAL_CALL * source_alloc)(rtl_arena_type *, sal_Size *),
     void   (SAL_CALL * source_free) (rtl_arena_type *, void *, sal_Size),
     SAL_UNUSED_PARAMETER int
-) SAL_THROW_EXTERN_C()
+) noexcept
 {
     rtl_arena_type * result = nullptr;
     sal_Size         size   = sizeof(rtl_arena_type);
@@ -787,7 +787,7 @@ try_alloc:
     return result;
 }
 
-void SAL_CALL rtl_arena_destroy(rtl_arena_type * arena) SAL_THROW_EXTERN_C()
+void SAL_CALL rtl_arena_destroy(rtl_arena_type * arena) noexcept
 {
     if (arena)
     {
@@ -800,7 +800,7 @@ void SAL_CALL rtl_arena_destroy(rtl_arena_type * arena) 
SAL_THROW_EXTERN_C()
 void * SAL_CALL rtl_arena_alloc(
     rtl_arena_type * arena,
     sal_Size *       pSize
-) SAL_THROW_EXTERN_C()
+) noexcept
 {
     void * addr = nullptr;
 
@@ -860,7 +860,7 @@ void SAL_CALL rtl_arena_free (
     rtl_arena_type * arena,
     void *           addr,
     sal_Size         size
-) SAL_THROW_EXTERN_C()
+) noexcept
 {
     if (arena)
     {
diff --git a/sal/rtl/alloc_cache.cxx b/sal/rtl/alloc_cache.cxx
index 1f165cca161c..ad323bc6eec8 100644
--- a/sal/rtl/alloc_cache.cxx
+++ b/sal/rtl/alloc_cache.cxx
@@ -90,7 +90,7 @@ rtl_cache_type * SAL_CALL rtl_cache_create(
     void *           userarg,
     rtl_arena_type *,
     int
-) SAL_THROW_EXTERN_C()
+) noexcept
 {
     rtl_cache_type * result = nullptr;
     sal_Size         size   = sizeof(rtl_cache_type);
@@ -130,7 +130,7 @@ try_alloc:
     return result;
 }
 
-void SAL_CALL rtl_cache_destroy(rtl_cache_type * cache) SAL_THROW_EXTERN_C()
+void SAL_CALL rtl_cache_destroy(rtl_cache_type * cache) noexcept
 {
     if (cache)
     {
@@ -138,7 +138,7 @@ void SAL_CALL rtl_cache_destroy(rtl_cache_type * cache) 
SAL_THROW_EXTERN_C()
     }
 }
 
-void * SAL_CALL rtl_cache_alloc(rtl_cache_type * cache) SAL_THROW_EXTERN_C()
+void * SAL_CALL rtl_cache_alloc(rtl_cache_type * cache) noexcept
 {
     void * obj = nullptr;
 
@@ -161,7 +161,7 @@ void * SAL_CALL rtl_cache_alloc(rtl_cache_type * cache) 
SAL_THROW_EXTERN_C()
 void SAL_CALL rtl_cache_free(
     rtl_cache_type * cache,
     void *           obj
-) SAL_THROW_EXTERN_C()
+) noexcept
 {
     if (obj && cache)
     {
@@ -176,7 +176,7 @@ void SAL_CALL rtl_cache_free(
 
 #if defined(SAL_UNX)
 
-void SAL_CALL rtl_secureZeroMemory(void *Ptr, sal_Size Bytes) 
SAL_THROW_EXTERN_C()
+void SAL_CALL rtl_secureZeroMemory(void *Ptr, sal_Size Bytes) noexcept
 {
     //currently glibc doesn't implement memset_s
     volatile char *p = static_cast<volatile char*>(Ptr);
@@ -186,7 +186,7 @@ void SAL_CALL rtl_secureZeroMemory(void *Ptr, sal_Size 
Bytes) SAL_THROW_EXTERN_C
 
 #elif defined(_WIN32)
 
-void SAL_CALL rtl_secureZeroMemory(void *Ptr, sal_Size Bytes) 
SAL_THROW_EXTERN_C()
+void SAL_CALL rtl_secureZeroMemory(void *Ptr, sal_Size Bytes) noexcept
 {
     RtlSecureZeroMemory(Ptr, Bytes);
 }
diff --git a/sal/rtl/alloc_global.cxx b/sal/rtl/alloc_global.cxx
index 29eb0e8f2a84..747f6a6e9fac 100644
--- a/sal/rtl/alloc_global.cxx
+++ b/sal/rtl/alloc_global.cxx
@@ -22,7 +22,7 @@
 
 #include <oslmemory.h>
 
-void* SAL_CALL rtl_allocateMemory(sal_Size n) SAL_THROW_EXTERN_C()
+void* SAL_CALL rtl_allocateMemory(sal_Size n) noexcept
 {
     SAL_WARN_IF(
         n >= SAL_MAX_INT32, "sal.rtl",
@@ -30,7 +30,7 @@ void* SAL_CALL rtl_allocateMemory(sal_Size n) 
SAL_THROW_EXTERN_C()
     return malloc (n);
 }
 
-void* SAL_CALL rtl_reallocateMemory(void * p, sal_Size n) SAL_THROW_EXTERN_C()
+void* SAL_CALL rtl_reallocateMemory(void * p, sal_Size n) noexcept
 {
     SAL_WARN_IF(
         n >= SAL_MAX_INT32, "sal.rtl",
@@ -38,18 +38,18 @@ void* SAL_CALL rtl_reallocateMemory(void * p, sal_Size n) 
SAL_THROW_EXTERN_C()
     return realloc (p, n);
 }
 
-void SAL_CALL rtl_freeMemory(void * p) SAL_THROW_EXTERN_C()
+void SAL_CALL rtl_freeMemory(void * p) noexcept
 {
     free (p);
 }
 
-void * SAL_CALL rtl_allocateZeroMemory(sal_Size n) SAL_THROW_EXTERN_C()
+void * SAL_CALL rtl_allocateZeroMemory(sal_Size n) noexcept
 {
     SAL_WARN_IF( n >= SAL_MAX_INT32, "sal.rtl", "suspicious massive alloc " << 
n);
     return calloc(n, 1);
 }
 
-void SAL_CALL rtl_freeZeroMemory(void * p, sal_Size n) SAL_THROW_EXTERN_C()
+void SAL_CALL rtl_freeZeroMemory(void * p, sal_Size n) noexcept
 {
     if (p)
     {
@@ -58,12 +58,12 @@ void SAL_CALL rtl_freeZeroMemory(void * p, sal_Size n) 
SAL_THROW_EXTERN_C()
     }
 }
 
-void* SAL_CALL rtl_allocateAlignedMemory(sal_Size Alignment, sal_Size Bytes) 
SAL_THROW_EXTERN_C()
+void* SAL_CALL rtl_allocateAlignedMemory(sal_Size Alignment, sal_Size Bytes) 
noexcept
 {
     return osl_aligned_alloc(Alignment, Bytes);
 }
 
-void SAL_CALL rtl_freeAlignedMemory(void* Ptr) SAL_THROW_EXTERN_C()
+void SAL_CALL rtl_freeAlignedMemory(void* Ptr) noexcept
 {
     osl_aligned_free(Ptr);
 }
diff --git a/sal/rtl/bootstrap.cxx b/sal/rtl/bootstrap.cxx
index f5a650708057..584d0eaeb4d8 100644
--- a/sal/rtl/bootstrap.cxx
+++ b/sal/rtl/bootstrap.cxx
@@ -706,7 +706,7 @@ rtlBootstrapHandle SAL_CALL 
rtl_bootstrap_args_open(rtl_uString * pIniName)
     return static_cast< rtlBootstrapHandle >( that );
 }
 
-void SAL_CALL rtl_bootstrap_args_close(rtlBootstrapHandle handle) 
SAL_THROW_EXTERN_C()
+void SAL_CALL rtl_bootstrap_args_close(rtlBootstrapHandle handle) noexcept
 {
     if (!handle)
         return;
diff --git a/sal/rtl/byteseq.cxx b/sal/rtl/byteseq.cxx
index 5c9cb224178f..0202ed092899 100644
--- a/sal/rtl/byteseq.cxx
+++ b/sal/rtl/byteseq.cxx
@@ -37,7 +37,7 @@ static sal_Sequence aEmpty_rtl_ByteSeq =
 };
 
 void SAL_CALL rtl_byte_sequence_reference2One(
-    sal_Sequence ** ppSequence ) SAL_THROW_EXTERN_C()
+    sal_Sequence ** ppSequence ) noexcept
 {
     sal_Sequence * pSequence;
 
@@ -81,7 +81,7 @@ void SAL_CALL rtl_byte_sequence_reference2One(
 }
 
 void SAL_CALL rtl_byte_sequence_realloc(
-    sal_Sequence ** ppSequence, sal_Int32 nSize ) SAL_THROW_EXTERN_C()
+    sal_Sequence ** ppSequence, sal_Int32 nSize ) noexcept
 {
     sal_Sequence * pSequence;
     sal_Int32 nElements;
@@ -129,15 +129,13 @@ void SAL_CALL rtl_byte_sequence_realloc(
     *ppSequence = pSequence;
 }
 
-void SAL_CALL rtl_byte_sequence_acquire( sal_Sequence *pSequence )
-    SAL_THROW_EXTERN_C()
+void SAL_CALL rtl_byte_sequence_acquire( sal_Sequence *pSequence ) noexcept
 {
     assert(pSequence);
     osl_atomic_increment( &(pSequence->nRefCount) );
 }
 
-void SAL_CALL rtl_byte_sequence_release( sal_Sequence *pSequence )
-    SAL_THROW_EXTERN_C()
+void SAL_CALL rtl_byte_sequence_release( sal_Sequence *pSequence ) noexcept
 {
     if ( pSequence != nullptr )
     {
@@ -148,8 +146,7 @@ void SAL_CALL rtl_byte_sequence_release( sal_Sequence 
*pSequence )
     }
 }
 
-void SAL_CALL rtl_byte_sequence_construct( sal_Sequence **ppSequence , 
sal_Int32 nLength )
-    SAL_THROW_EXTERN_C()
+void SAL_CALL rtl_byte_sequence_construct( sal_Sequence **ppSequence , 
sal_Int32 nLength ) noexcept
 {
     assert(ppSequence);
     if( *ppSequence )
@@ -175,8 +172,7 @@ void SAL_CALL rtl_byte_sequence_construct( sal_Sequence 
**ppSequence , sal_Int32
     }
 }
 
-void SAL_CALL rtl_byte_sequence_constructNoDefault( sal_Sequence **ppSequence 
, sal_Int32 nLength )
-    SAL_THROW_EXTERN_C()
+void SAL_CALL rtl_byte_sequence_constructNoDefault( sal_Sequence **ppSequence 
, sal_Int32 nLength ) noexcept
 {
     assert(ppSequence);
     if( *ppSequence )
@@ -195,16 +191,14 @@ void SAL_CALL rtl_byte_sequence_constructNoDefault( 
sal_Sequence **ppSequence ,
 }
 
 void SAL_CALL rtl_byte_sequence_constructFromArray(
-    sal_Sequence **ppSequence, const sal_Int8 *pData , sal_Int32 nLength )
-    SAL_THROW_EXTERN_C()
+    sal_Sequence **ppSequence, const sal_Int8 *pData , sal_Int32 nLength ) 
noexcept
 {
     rtl_byte_sequence_constructNoDefault( ppSequence , nLength );
     if ( *ppSequence != nullptr && nLength != 0 )
         memcpy( (*ppSequence)->elements, pData, nLength );
 }
 
-void SAL_CALL rtl_byte_sequence_assign( sal_Sequence **ppSequence , 
sal_Sequence *pSequence )
-    SAL_THROW_EXTERN_C()
+void SAL_CALL rtl_byte_sequence_assign( sal_Sequence **ppSequence , 
sal_Sequence *pSequence ) noexcept
 {
     if ( *ppSequence != pSequence)
     {
@@ -220,8 +214,7 @@ void SAL_CALL rtl_byte_sequence_assign( sal_Sequence 
**ppSequence , sal_Sequence
 
 }
 
-sal_Bool SAL_CALL rtl_byte_sequence_equals( sal_Sequence *pSequence1 , 
sal_Sequence *pSequence2 )
-    SAL_THROW_EXTERN_C()
+sal_Bool SAL_CALL rtl_byte_sequence_equals( sal_Sequence *pSequence1 , 
sal_Sequence *pSequence2 ) noexcept
 {
     assert(pSequence1 && pSequence2);
     if (pSequence1 == pSequence2)
@@ -238,14 +231,12 @@ sal_Bool SAL_CALL rtl_byte_sequence_equals( sal_Sequence 
*pSequence1 , sal_Seque
         == 0;
 }
 
-const sal_Int8 *SAL_CALL rtl_byte_sequence_getConstArray( sal_Sequence 
*pSequence )
-    SAL_THROW_EXTERN_C()
+const sal_Int8 *SAL_CALL rtl_byte_sequence_getConstArray( sal_Sequence 
*pSequence ) noexcept
 {
     return reinterpret_cast<sal_Int8*>(pSequence->elements);
 }
 
-sal_Int32 SAL_CALL rtl_byte_sequence_getLength( sal_Sequence *pSequence )
-    SAL_THROW_EXTERN_C()
+sal_Int32 SAL_CALL rtl_byte_sequence_getLength( sal_Sequence *pSequence ) 
noexcept
 {
     return pSequence->nElements;
 }
diff --git a/sal/rtl/cipher.cxx b/sal/rtl/cipher.cxx
index 5d842c88f5f5..36c5c64701ad 100644
--- a/sal/rtl/cipher.cxx
+++ b/sal/rtl/cipher.cxx
@@ -125,7 +125,7 @@ struct Cipher_Impl
 
 rtlCipher SAL_CALL rtl_cipher_create(
     rtlCipherAlgorithm Algorithm,
-    rtlCipherMode      Mode) SAL_THROW_EXTERN_C()
+    rtlCipherMode      Mode) noexcept
 {
     rtlCipher Cipher = nullptr;
     switch (Algorithm)
@@ -148,7 +148,7 @@ rtlCipherError SAL_CALL rtl_cipher_init(
     rtlCipher          Cipher,
     rtlCipherDirection Direction,
     const sal_uInt8 *pKeyData, sal_Size nKeyLen,
-    const sal_uInt8 *pArgData, sal_Size nArgLen) SAL_THROW_EXTERN_C()
+    const sal_uInt8 *pArgData, sal_Size nArgLen) noexcept
 {
     Cipher_Impl *pImpl = static_cast<Cipher_Impl*>(Cipher);
     if (!pImpl)
@@ -164,7 +164,7 @@ rtlCipherError SAL_CALL rtl_cipher_init(
 rtlCipherError SAL_CALL rtl_cipher_encode(
     rtlCipher   Cipher,
     const void *pData,   sal_Size nDatLen,
-    sal_uInt8  *pBuffer, sal_Size nBufLen) SAL_THROW_EXTERN_C()
+    sal_uInt8  *pBuffer, sal_Size nBufLen) noexcept
 {
     Cipher_Impl *pImpl = static_cast<Cipher_Impl*>(Cipher);
     if (!pImpl)
@@ -179,7 +179,7 @@ rtlCipherError SAL_CALL rtl_cipher_encode(
 rtlCipherError SAL_CALL rtl_cipher_decode(
     rtlCipher   Cipher,
     const void *pData,   sal_Size nDatLen,
-    sal_uInt8  *pBuffer, sal_Size nBufLen) SAL_THROW_EXTERN_C()
+    sal_uInt8  *pBuffer, sal_Size nBufLen) noexcept
 {
     Cipher_Impl *pImpl = static_cast<Cipher_Impl*>(Cipher);
     if (!pImpl)
@@ -191,7 +191,7 @@ rtlCipherError SAL_CALL rtl_cipher_decode(
     return (pImpl->m_decode)(Cipher, pData, nDatLen, pBuffer, nBufLen);
 }
 
-void SAL_CALL rtl_cipher_destroy(rtlCipher Cipher) SAL_THROW_EXTERN_C()
+void SAL_CALL rtl_cipher_destroy(rtlCipher Cipher) noexcept
 {
     Cipher_Impl *pImpl = static_cast<Cipher_Impl*>(Cipher);
     if (pImpl && pImpl->m_delete)
@@ -1001,7 +1001,7 @@ static sal_uInt32 BF(CipherKeyBF *key, sal_uInt32 x)
 
     Reference: Bruce Schneier: Applied Cryptography, 2nd edition, ch. 14.3
 */
-rtlCipher SAL_CALL rtl_cipher_createBF(rtlCipherMode Mode) SAL_THROW_EXTERN_C()
+rtlCipher SAL_CALL rtl_cipher_createBF(rtlCipherMode Mode) noexcept
 {
     CipherBF_Impl *pImpl = nullptr;
 
@@ -1033,7 +1033,7 @@ rtlCipherError SAL_CALL rtl_cipher_initBF(
     rtlCipher          Cipher,
     rtlCipherDirection Direction,
     const sal_uInt8 *pKeyData, sal_Size nKeyLen,
-    const sal_uInt8 *pArgData, sal_Size nArgLen) SAL_THROW_EXTERN_C()
+    const sal_uInt8 *pArgData, sal_Size nArgLen) noexcept
 {
     CipherBF_Impl *pImpl = static_cast<CipherBF_Impl*>(Cipher);
 
@@ -1092,7 +1092,7 @@ rtlCipherError SAL_CALL rtl_cipher_initBF(
 rtlCipherError SAL_CALL rtl_cipher_encodeBF(
     rtlCipher   Cipher,
     const void *pData,   sal_Size nDatLen,
-    sal_uInt8  *pBuffer, sal_Size nBufLen) SAL_THROW_EXTERN_C()
+    sal_uInt8  *pBuffer, sal_Size nBufLen) noexcept
 {
     CipherBF_Impl *pImpl = static_cast<CipherBF_Impl*>(Cipher);
     if (!pImpl)
@@ -1116,7 +1116,7 @@ rtlCipherError SAL_CALL rtl_cipher_encodeBF(
 rtlCipherError SAL_CALL rtl_cipher_decodeBF(
     rtlCipher   Cipher,
     const void *pData,   sal_Size nDatLen,
-    sal_uInt8  *pBuffer, sal_Size nBufLen) SAL_THROW_EXTERN_C()
+    sal_uInt8  *pBuffer, sal_Size nBufLen) noexcept
 {
     CipherBF_Impl *pImpl = static_cast<CipherBF_Impl*>(Cipher);
     if (!pImpl)
@@ -1137,7 +1137,7 @@ rtlCipherError SAL_CALL rtl_cipher_decodeBF(
         static_cast<const sal_uInt8*>(pData), nDatLen, pBuffer, nBufLen);
 }
 
-void SAL_CALL rtl_cipher_destroyBF(rtlCipher Cipher) SAL_THROW_EXTERN_C()
+void SAL_CALL rtl_cipher_destroyBF(rtlCipher Cipher) noexcept
 {
     CipherBF_Impl *pImpl = static_cast<CipherBF_Impl*>(Cipher);
     if (!pImpl)
@@ -1325,8 +1325,7 @@ static rtlCipherError rtl_cipherARCFOUR_update_Impl(
 
   Reference: Bruce Schneier: Applied Cryptography, 2nd edition, ch. 17.1
 */
-rtlCipher SAL_CALL rtl_cipher_createARCFOUR(rtlCipherMode Mode)
-    SAL_THROW_EXTERN_C()
+rtlCipher SAL_CALL rtl_cipher_createARCFOUR(rtlCipherMode Mode) noexcept
 {
     CipherARCFOUR_Impl *pImpl = nullptr;
 
@@ -1353,8 +1352,7 @@ rtlCipherError SAL_CALL rtl_cipher_initARCFOUR(
     rtlCipher          Cipher,
     rtlCipherDirection Direction,
     const sal_uInt8 *pKeyData, sal_Size nKeyLen,
-    SAL_UNUSED_PARAMETER const sal_uInt8 *, SAL_UNUSED_PARAMETER sal_Size)
-    SAL_THROW_EXTERN_C()
+    SAL_UNUSED_PARAMETER const sal_uInt8 *, SAL_UNUSED_PARAMETER sal_Size) 
noexcept
 {
     CipherARCFOUR_Impl *pImpl = static_cast<CipherARCFOUR_Impl*>(Cipher);
 
@@ -1375,7 +1373,7 @@ rtlCipherError SAL_CALL rtl_cipher_initARCFOUR(
 rtlCipherError SAL_CALL rtl_cipher_encodeARCFOUR(
     rtlCipher   Cipher,
     const void *pData,   sal_Size nDatLen,
-    sal_uInt8  *pBuffer, sal_Size nBufLen) SAL_THROW_EXTERN_C()
+    sal_uInt8  *pBuffer, sal_Size nBufLen) noexcept
 {
     CipherARCFOUR_Impl *pImpl = static_cast<CipherARCFOUR_Impl*>(Cipher);
     if (!pImpl)
@@ -1395,7 +1393,7 @@ rtlCipherError SAL_CALL rtl_cipher_encodeARCFOUR(
 rtlCipherError SAL_CALL rtl_cipher_decodeARCFOUR(
     rtlCipher   Cipher,
     const void *pData,   sal_Size nDatLen,
-    sal_uInt8  *pBuffer, sal_Size nBufLen) SAL_THROW_EXTERN_C()
+    sal_uInt8  *pBuffer, sal_Size nBufLen) noexcept
 {
     CipherARCFOUR_Impl *pImpl = static_cast<CipherARCFOUR_Impl*>(Cipher);
     if (!pImpl)
@@ -1412,7 +1410,7 @@ rtlCipherError SAL_CALL rtl_cipher_decodeARCFOUR(
         static_cast<const sal_uInt8*>(pData), nDatLen, pBuffer, nBufLen);
 }
 
-void SAL_CALL rtl_cipher_destroyARCFOUR(rtlCipher Cipher) SAL_THROW_EXTERN_C()
+void SAL_CALL rtl_cipher_destroyARCFOUR(rtlCipher Cipher) noexcept
 {
     CipherARCFOUR_Impl *pImpl = static_cast<CipherARCFOUR_Impl*>(Cipher);
     if (!pImpl)
diff --git a/sal/rtl/crc.cxx b/sal/rtl/crc.cxx
index 7912b15d066c..6a4d0b773833 100644
--- a/sal/rtl/crc.cxx
+++ b/sal/rtl/crc.cxx
@@ -28,7 +28,7 @@
 
 sal_uInt32 SAL_CALL rtl_crc32 (
     sal_uInt32  Crc,
-    const void *Data, sal_uInt32 DatLen) SAL_THROW_EXTERN_C()
+    const void *Data, sal_uInt32 DatLen) noexcept
 {
     // Check that our types map to zlib correctly.
     static_assert(sizeof(uLong) >= sizeof(sal_uInt32));
diff --git a/sal/rtl/digest.cxx b/sal/rtl/digest.cxx
index de52ecae5107..a87570b32b86 100644
--- a/sal/rtl/digest.cxx
+++ b/sal/rtl/digest.cxx
@@ -81,8 +81,7 @@ static void swapLong(sal_uInt32 *pData, sal_uInt32 nDatLen)
     }
 }
 
-rtlDigest SAL_CALL rtl_digest_create(rtlDigestAlgorithm Algorithm)
-    SAL_THROW_EXTERN_C()
+rtlDigest SAL_CALL rtl_digest_create(rtlDigestAlgorithm Algorithm) noexcept
 {
     rtlDigest Digest = nullptr;
     switch (Algorithm)
@@ -117,8 +116,7 @@ rtlDigest SAL_CALL rtl_digest_create(rtlDigestAlgorithm 
Algorithm)
     return Digest;
 }
 
-rtlDigestAlgorithm SAL_CALL rtl_digest_queryAlgorithm(rtlDigest Digest)
-    SAL_THROW_EXTERN_C()
+rtlDigestAlgorithm SAL_CALL rtl_digest_queryAlgorithm(rtlDigest Digest) 
noexcept
 {
     Digest_Impl *pImpl = static_cast<Digest_Impl *>(Digest);
     if (pImpl)
@@ -126,8 +124,7 @@ rtlDigestAlgorithm SAL_CALL 
rtl_digest_queryAlgorithm(rtlDigest Digest)
     return rtl_Digest_AlgorithmInvalid;
 }
 
-sal_uInt32 SAL_CALL rtl_digest_queryLength(rtlDigest Digest)
-    SAL_THROW_EXTERN_C()
+sal_uInt32 SAL_CALL rtl_digest_queryLength(rtlDigest Digest) noexcept
 {
     Digest_Impl *pImpl = static_cast<Digest_Impl *>(Digest);
     if (pImpl)
@@ -136,8 +133,7 @@ sal_uInt32 SAL_CALL rtl_digest_queryLength(rtlDigest Digest)
 }
 
 rtlDigestError SAL_CALL rtl_digest_init(
-    rtlDigest Digest, const sal_uInt8 *pData, sal_uInt32 nDatLen)
-    SAL_THROW_EXTERN_C()
+    rtlDigest Digest, const sal_uInt8 *pData, sal_uInt32 nDatLen) noexcept
 {
     Digest_Impl *pImpl = static_cast<Digest_Impl *>(Digest);
     if (pImpl)
@@ -150,8 +146,7 @@ rtlDigestError SAL_CALL rtl_digest_init(
 }
 
 rtlDigestError SAL_CALL rtl_digest_update(
-    rtlDigest Digest, const void *pData, sal_uInt32 nDatLen)
-    SAL_THROW_EXTERN_C()
+    rtlDigest Digest, const void *pData, sal_uInt32 nDatLen) noexcept
 {
     Digest_Impl *pImpl = static_cast<Digest_Impl *>(Digest);
     if (pImpl && pImpl->m_update)
@@ -160,8 +155,7 @@ rtlDigestError SAL_CALL rtl_digest_update(
 }
 
 rtlDigestError SAL_CALL rtl_digest_get(
-    rtlDigest Digest, sal_uInt8 *pBuffer, sal_uInt32 nBufLen)
-    SAL_THROW_EXTERN_C()
+    rtlDigest Digest, sal_uInt8 *pBuffer, sal_uInt32 nBufLen) noexcept
 {
     Digest_Impl *pImpl = static_cast<Digest_Impl *>(Digest);
     if (pImpl && pImpl->m_get)
@@ -169,7 +163,7 @@ rtlDigestError SAL_CALL rtl_digest_get(
     return rtl_Digest_E_Argument;
 }
 
-void SAL_CALL rtl_digest_destroy(rtlDigest Digest) SAL_THROW_EXTERN_C()
+void SAL_CALL rtl_digest_destroy(rtlDigest Digest) noexcept
 {
     Digest_Impl *pImpl = static_cast<Digest_Impl *>(Digest);
     if (pImpl && pImpl->m_delete)
@@ -316,7 +310,7 @@ static void endMD2(DigestContextMD2 *ctx)
 
 rtlDigestError SAL_CALL rtl_digest_MD2(
     const void *pData,   sal_uInt32 nDatLen,
-    sal_uInt8  *pBuffer, sal_uInt32 nBufLen) SAL_THROW_EXTERN_C()
+    sal_uInt8  *pBuffer, sal_uInt32 nBufLen) noexcept
 {
     DigestMD2_Impl digest;
     rtlDigestError result;
@@ -332,7 +326,7 @@ rtlDigestError SAL_CALL rtl_digest_MD2(
     return result;
 }
 
-rtlDigest SAL_CALL rtl_digest_createMD2() SAL_THROW_EXTERN_C()
+rtlDigest SAL_CALL rtl_digest_createMD2() noexcept
 {
     DigestMD2_Impl *pImpl = RTL_DIGEST_CREATE(DigestMD2_Impl);
     if (pImpl)
@@ -344,8 +338,7 @@ rtlDigest SAL_CALL rtl_digest_createMD2() 
SAL_THROW_EXTERN_C()
 }
 
 rtlDigestError SAL_CALL rtl_digest_updateMD2(
-    rtlDigest Digest, const void *pData, sal_uInt32 nDatLen)
-    SAL_THROW_EXTERN_C()
+    rtlDigest Digest, const void *pData, sal_uInt32 nDatLen) noexcept
 {
     DigestMD2_Impl   *pImpl = static_cast<DigestMD2_Impl *>(Digest);
     const sal_uInt8  *d     = static_cast<const sal_uInt8 *>(pData);
@@ -400,8 +393,7 @@ rtlDigestError SAL_CALL rtl_digest_updateMD2(
 }
 
 rtlDigestError SAL_CALL rtl_digest_getMD2(
-    rtlDigest Digest, sal_uInt8 *pBuffer, sal_uInt32 nBufLen)
-    SAL_THROW_EXTERN_C()
+    rtlDigest Digest, sal_uInt8 *pBuffer, sal_uInt32 nBufLen) noexcept
 {
     DigestMD2_Impl *pImpl = static_cast<DigestMD2_Impl *>(Digest);
     sal_uInt32 i;
@@ -430,7 +422,7 @@ rtlDigestError SAL_CALL rtl_digest_getMD2(
     return rtl_Digest_E_None;
 }
 
-void SAL_CALL rtl_digest_destroyMD2(rtlDigest Digest) SAL_THROW_EXTERN_C()
+void SAL_CALL rtl_digest_destroyMD2(rtlDigest Digest) noexcept
 {
     DigestMD2_Impl *pImpl = static_cast<DigestMD2_Impl *>(Digest);
     if (pImpl)
@@ -657,7 +649,7 @@ static void endMD5(DigestContextMD5 *ctx)
 
 rtlDigestError SAL_CALL rtl_digest_MD5(
     const void *pData,   sal_uInt32 nDatLen,
-    sal_uInt8  *pBuffer, sal_uInt32 nBufLen) SAL_THROW_EXTERN_C()
+    sal_uInt8  *pBuffer, sal_uInt32 nBufLen) noexcept
 {
     DigestMD5_Impl digest;
     rtlDigestError result;
@@ -673,7 +665,7 @@ rtlDigestError SAL_CALL rtl_digest_MD5(
     return result;
 }
 
-rtlDigest SAL_CALL rtl_digest_createMD5() SAL_THROW_EXTERN_C()
+rtlDigest SAL_CALL rtl_digest_createMD5() noexcept
 {
     DigestMD5_Impl *pImpl = RTL_DIGEST_CREATE(DigestMD5_Impl);
     if (pImpl)
@@ -685,8 +677,7 @@ rtlDigest SAL_CALL rtl_digest_createMD5() 
SAL_THROW_EXTERN_C()
 }
 
 rtlDigestError SAL_CALL rtl_digest_updateMD5(
-    rtlDigest Digest, const void *pData, sal_uInt32 nDatLen)
-    SAL_THROW_EXTERN_C()
+    rtlDigest Digest, const void *pData, sal_uInt32 nDatLen) noexcept
 {
     DigestMD5_Impl *pImpl = static_cast<DigestMD5_Impl *>(Digest);
     const sal_uInt8 *d = static_cast<const sal_uInt8 *>(pData);
@@ -757,8 +748,7 @@ rtlDigestError SAL_CALL rtl_digest_updateMD5(
 }
 
 rtlDigestError SAL_CALL rtl_digest_getMD5(
-    rtlDigest Digest, sal_uInt8 *pBuffer, sal_uInt32 nBufLen)
-    SAL_THROW_EXTERN_C()
+    rtlDigest Digest, sal_uInt8 *pBuffer, sal_uInt32 nBufLen) noexcept
 {
     DigestMD5_Impl *pImpl = static_cast<DigestMD5_Impl *>(Digest);
     sal_uInt8 *p = pBuffer;
@@ -787,8 +777,7 @@ rtlDigestError SAL_CALL rtl_digest_getMD5(
 }
 
 rtlDigestError SAL_CALL rtl_digest_rawMD5(
-    rtlDigest Digest, sal_uInt8 *pBuffer, sal_uInt32 nBufLen)
-    SAL_THROW_EXTERN_C()
+    rtlDigest Digest, sal_uInt8 *pBuffer, sal_uInt32 nBufLen) noexcept
 {
     DigestMD5_Impl *pImpl = static_cast<DigestMD5_Impl *>(Digest);
     sal_uInt8 *p = pBuffer;
@@ -816,7 +805,7 @@ rtlDigestError SAL_CALL rtl_digest_rawMD5(
     return rtl_Digest_E_None;
 }
 
-void SAL_CALL rtl_digest_destroyMD5(rtlDigest Digest) SAL_THROW_EXTERN_C()
+void SAL_CALL rtl_digest_destroyMD5(rtlDigest Digest) noexcept
 {
     DigestMD5_Impl *pImpl = static_cast<DigestMD5_Impl *>(Digest);
     if (pImpl)
@@ -1103,7 +1092,7 @@ static sal_uInt32 updateSHA_0(sal_uInt32 x)
 
 rtlDigestError SAL_CALL rtl_digest_SHA(
     const void *pData,   sal_uInt32 nDatLen,
-    sal_uInt8  *pBuffer, sal_uInt32 nBufLen) SAL_THROW_EXTERN_C()
+    sal_uInt8  *pBuffer, sal_uInt32 nBufLen) noexcept
 {
     DigestSHA_Impl digest;
     rtlDigestError result;
@@ -1119,7 +1108,7 @@ rtlDigestError SAL_CALL rtl_digest_SHA(
     return result;
 }
 
-rtlDigest SAL_CALL rtl_digest_createSHA() SAL_THROW_EXTERN_C()
+rtlDigest SAL_CALL rtl_digest_createSHA() noexcept
 {
     DigestSHA_Impl *pImpl = RTL_DIGEST_CREATE(DigestSHA_Impl);
     if (pImpl)
@@ -1131,8 +1120,7 @@ rtlDigest SAL_CALL rtl_digest_createSHA() 
SAL_THROW_EXTERN_C()
 }
 
 rtlDigestError SAL_CALL rtl_digest_updateSHA(
-    rtlDigest Digest, const void *pData, sal_uInt32 nDatLen)
-    SAL_THROW_EXTERN_C()
+    rtlDigest Digest, const void *pData, sal_uInt32 nDatLen) noexcept
 {
     DigestSHA_Impl *pImpl = static_cast<DigestSHA_Impl *>(Digest);
     const sal_uInt8 *d = static_cast<const sal_uInt8 *>(pData);
@@ -1203,8 +1191,7 @@ rtlDigestError SAL_CALL rtl_digest_updateSHA(
 }
 
 rtlDigestError SAL_CALL rtl_digest_getSHA(
-    rtlDigest Digest, sal_uInt8 *pBuffer, sal_uInt32 nBufLen)
-    SAL_THROW_EXTERN_C()
+    rtlDigest Digest, sal_uInt8 *pBuffer, sal_uInt32 nBufLen) noexcept
 {
     DigestSHA_Impl *pImpl = static_cast<DigestSHA_Impl *>(Digest);
     sal_uInt8 *p     = pBuffer;
@@ -1233,7 +1220,7 @@ rtlDigestError SAL_CALL rtl_digest_getSHA(
     return rtl_Digest_E_None;
 }
 
-void SAL_CALL rtl_digest_destroySHA(rtlDigest Digest) SAL_THROW_EXTERN_C()
+void SAL_CALL rtl_digest_destroySHA(rtlDigest Digest) noexcept
 {
     DigestSHA_Impl *pImpl = static_cast< DigestSHA_Impl * >(Digest);
     if (pImpl)
@@ -1262,7 +1249,7 @@ static sal_uInt32 updateSHA_1(sal_uInt32 x)
 
 rtlDigestError SAL_CALL rtl_digest_SHA1(
     const void *pData,   sal_uInt32 nDatLen,
-    sal_uInt8  *pBuffer, sal_uInt32 nBufLen) SAL_THROW_EXTERN_C()
+    sal_uInt8  *pBuffer, sal_uInt32 nBufLen) noexcept
 {
     DigestSHA_Impl digest;
     rtlDigestError result;
@@ -1278,7 +1265,7 @@ rtlDigestError SAL_CALL rtl_digest_SHA1(
     return result;
 }
 
-rtlDigest SAL_CALL rtl_digest_createSHA1() SAL_THROW_EXTERN_C()
+rtlDigest SAL_CALL rtl_digest_createSHA1() noexcept
 {
     DigestSHA_Impl *pImpl = RTL_DIGEST_CREATE(DigestSHA_Impl);
     if (pImpl)
@@ -1290,8 +1277,7 @@ rtlDigest SAL_CALL rtl_digest_createSHA1() 
SAL_THROW_EXTERN_C()
 }
 
 rtlDigestError SAL_CALL rtl_digest_updateSHA1(
-    rtlDigest Digest, const void *pData, sal_uInt32 nDatLen)
-    SAL_THROW_EXTERN_C()
+    rtlDigest Digest, const void *pData, sal_uInt32 nDatLen) noexcept
 {
     DigestSHA_Impl *pImpl = static_cast< DigestSHA_Impl * >(Digest);
     const sal_uInt8 *d = static_cast< const sal_uInt8 * >(pData);
@@ -1362,8 +1348,7 @@ rtlDigestError SAL_CALL rtl_digest_updateSHA1(
 }
 
 rtlDigestError SAL_CALL rtl_digest_getSHA1 (
-    rtlDigest Digest, sal_uInt8 *pBuffer, sal_uInt32 nBufLen)
-    SAL_THROW_EXTERN_C()
+    rtlDigest Digest, sal_uInt8 *pBuffer, sal_uInt32 nBufLen) noexcept
 {
     DigestSHA_Impl *pImpl = static_cast<DigestSHA_Impl *>(Digest);
     sal_uInt8 *p = pBuffer;
@@ -1392,7 +1377,7 @@ rtlDigestError SAL_CALL rtl_digest_getSHA1 (
     return rtl_Digest_E_None;
 }
 
-void SAL_CALL rtl_digest_destroySHA1(rtlDigest Digest) SAL_THROW_EXTERN_C()
+void SAL_CALL rtl_digest_destroySHA1(rtlDigest Digest) noexcept
 {
     DigestSHA_Impl *pImpl = static_cast< DigestSHA_Impl * >(Digest);
     if (pImpl)
@@ -1477,7 +1462,7 @@ static void opadHMAC_MD5(ContextHMAC_MD5 * ctx)
 rtlDigestError SAL_CALL rtl_digest_HMAC_MD5(
     const sal_uInt8 *pKeyData, sal_uInt32 nKeyLen,
     const void      *pData,    sal_uInt32 nDatLen,
-    sal_uInt8       *pBuffer,  sal_uInt32 nBufLen) SAL_THROW_EXTERN_C()
+    sal_uInt8       *pBuffer,  sal_uInt32 nBufLen) noexcept
 {
     DigestHMAC_MD5_Impl digest;
     rtlDigestError      result;
@@ -1496,7 +1481,7 @@ rtlDigestError SAL_CALL rtl_digest_HMAC_MD5(
     return result;
 }
 
-rtlDigest SAL_CALL rtl_digest_createHMAC_MD5() SAL_THROW_EXTERN_C()
+rtlDigest SAL_CALL rtl_digest_createHMAC_MD5() noexcept
 {
     DigestHMAC_MD5_Impl *pImpl = RTL_DIGEST_CREATE(DigestHMAC_MD5_Impl);
     if (pImpl)
@@ -1508,8 +1493,7 @@ rtlDigest SAL_CALL rtl_digest_createHMAC_MD5() 
SAL_THROW_EXTERN_C()
 }
 
 rtlDigestError SAL_CALL rtl_digest_initHMAC_MD5(
-    rtlDigest Digest, const sal_uInt8 *pKeyData, sal_uInt32 nKeyLen)
-    SAL_THROW_EXTERN_C()
+    rtlDigest Digest, const sal_uInt8 *pKeyData, sal_uInt32 nKeyLen) noexcept
 {
     DigestHMAC_MD5_Impl *pImpl = static_cast< DigestHMAC_MD5_Impl* >(Digest);
     ContextHMAC_MD5 *ctx;
@@ -1542,8 +1526,7 @@ rtlDigestError SAL_CALL rtl_digest_initHMAC_MD5(
 }
 
 rtlDigestError SAL_CALL rtl_digest_updateHMAC_MD5(
-    rtlDigest Digest, const void *pData, sal_uInt32 nDatLen)
-    SAL_THROW_EXTERN_C()
+    rtlDigest Digest, const void *pData, sal_uInt32 nDatLen) noexcept
 {
     DigestHMAC_MD5_Impl *pImpl = static_cast< DigestHMAC_MD5_Impl* >(Digest);
     ContextHMAC_MD5 *ctx;
@@ -1561,8 +1544,7 @@ rtlDigestError SAL_CALL rtl_digest_updateHMAC_MD5(
 }
 
 rtlDigestError SAL_CALL rtl_digest_getHMAC_MD5(
-    rtlDigest Digest, sal_uInt8 *pBuffer, sal_uInt32 nBufLen)
-    SAL_THROW_EXTERN_C()
+    rtlDigest Digest, sal_uInt8 *pBuffer, sal_uInt32 nBufLen) noexcept
 {
     DigestHMAC_MD5_Impl *pImpl = static_cast<DigestHMAC_MD5_Impl*>(Digest);
     ContextHMAC_MD5 *ctx;
@@ -1592,7 +1574,7 @@ rtlDigestError SAL_CALL rtl_digest_getHMAC_MD5(
     return rtl_Digest_E_None;
 }
 
-void SAL_CALL rtl_digest_destroyHMAC_MD5(rtlDigest Digest) SAL_THROW_EXTERN_C()
+void SAL_CALL rtl_digest_destroyHMAC_MD5(rtlDigest Digest) noexcept
 {
     DigestHMAC_MD5_Impl *pImpl = static_cast< DigestHMAC_MD5_Impl* >(Digest);
     if (pImpl)
@@ -1676,7 +1658,7 @@ static void opadHMAC_SHA1(ContextHMAC_SHA1 * ctx)
 rtlDigestError SAL_CALL rtl_digest_HMAC_SHA1(
     const sal_uInt8 *pKeyData, sal_uInt32 nKeyLen,
     const void      *pData,    sal_uInt32 nDatLen,
-    sal_uInt8       *pBuffer,  sal_uInt32 nBufLen) SAL_THROW_EXTERN_C()
+    sal_uInt8       *pBuffer,  sal_uInt32 nBufLen) noexcept
 {
     DigestHMAC_SHA1_Impl digest;
     rtlDigestError       result;
@@ -1695,7 +1677,7 @@ rtlDigestError SAL_CALL rtl_digest_HMAC_SHA1(
     return result;
 }
 
-rtlDigest SAL_CALL rtl_digest_createHMAC_SHA1() SAL_THROW_EXTERN_C()
+rtlDigest SAL_CALL rtl_digest_createHMAC_SHA1() noexcept
 {
     DigestHMAC_SHA1_Impl *pImpl = RTL_DIGEST_CREATE(DigestHMAC_SHA1_Impl);
     if (pImpl)
@@ -1707,8 +1689,7 @@ rtlDigest SAL_CALL rtl_digest_createHMAC_SHA1() 
SAL_THROW_EXTERN_C()
 }
 
 rtlDigestError SAL_CALL rtl_digest_initHMAC_SHA1(
-    rtlDigest Digest, const sal_uInt8 *pKeyData, sal_uInt32 nKeyLen)
-    SAL_THROW_EXTERN_C()
+    rtlDigest Digest, const sal_uInt8 *pKeyData, sal_uInt32 nKeyLen) noexcept
 {
     DigestHMAC_SHA1_Impl *pImpl = static_cast<DigestHMAC_SHA1_Impl*>(Digest);
     ContextHMAC_SHA1 *ctx;
@@ -1741,8 +1722,7 @@ rtlDigestError SAL_CALL rtl_digest_initHMAC_SHA1(
 }
 
 rtlDigestError SAL_CALL rtl_digest_updateHMAC_SHA1(
-    rtlDigest Digest, const void *pData, sal_uInt32 nDatLen)
-    SAL_THROW_EXTERN_C()
+    rtlDigest Digest, const void *pData, sal_uInt32 nDatLen) noexcept
 {
     DigestHMAC_SHA1_Impl *pImpl = static_cast<DigestHMAC_SHA1_Impl*>(Digest);
     ContextHMAC_SHA1 *ctx;
@@ -1760,8 +1740,7 @@ rtlDigestError SAL_CALL rtl_digest_updateHMAC_SHA1(
 }
 
 rtlDigestError SAL_CALL rtl_digest_getHMAC_SHA1(
-    rtlDigest Digest, sal_uInt8 *pBuffer, sal_uInt32 nBufLen)
-    SAL_THROW_EXTERN_C()
+    rtlDigest Digest, sal_uInt8 *pBuffer, sal_uInt32 nBufLen) noexcept
 {
-e 
... etc. - the rest is truncated

Reply via email to