summaryrefslogtreecommitdiff
path: root/sal
diff options
context:
space:
mode:
Diffstat (limited to 'sal')
-rw-r--r--sal/osl/all/debugbase.cxx16
1 files changed, 16 insertions, 0 deletions
diff --git a/sal/osl/all/debugbase.cxx b/sal/osl/all/debugbase.cxx
index 48a9c1aab925..9b3021f55885 100644
--- a/sal/osl/all/debugbase.cxx
+++ b/sal/osl/all/debugbase.cxx
@@ -81,11 +81,27 @@ struct DebugBaseMutex : ::rtl::Static<osl::Mutex, DebugBaseMutex> {};
extern "C" {
+// These functions presumably should not be extern "C", but changing
+// that would break binary compatibility.
+#if SUPD < 400
+#ifdef __clang__
+#pragma clang diagnostic push
+// Guard against slightly older clang versions that don't have
+// -Wreturn-type-c-linkage...
+#pragma clang diagnostic ignored "-Wunknown-pragmas"
+#pragma clang diagnostic ignored "-Wreturn-type-c-linkage"
+#endif
+#endif
osl::Mutex & SAL_CALL osl_detail_ObjectRegistry_getMutex()
SAL_THROW_EXTERN_C()
{
return DebugBaseMutex::get();
}
+#if SUPD < 400
+#ifdef __clang__
+#pragma clang diagnostic pop
+#endif
+#endif
bool SAL_CALL osl_detail_ObjectRegistry_storeAddresses( char const* pName )
SAL_THROW_EXTERN_C()