summaryrefslogtreecommitdiff
path: root/sal
diff options
context:
space:
mode:
authorPetr Mladek <pmladek@suse.cz>2011-04-06 19:25:26 +0200
committerPetr Mladek <pmladek@suse.cz>2011-04-06 19:25:26 +0200
commit43d20d0b95a3b01217c123d3f1f678ca8c134584 (patch)
tree919f016a977510a5354588edf004ecd28767902c /sal
parent68a2e650fa088937f028c1148bca2672fd4a9f90 (diff)
parent0faa398df2d8d3befbb0256ff05e7d6789183be0 (diff)
Merge remote-tracking branch 'origin/libreoffice-3-4'
Diffstat (limited to 'sal')
-rw-r--r--sal/osl/unx/interlck.c9
1 files changed, 9 insertions, 0 deletions
diff --git a/sal/osl/unx/interlck.c b/sal/osl/unx/interlck.c
index 826592a495a6..e5bb3ea1e431 100644
--- a/sal/osl/unx/interlck.c
+++ b/sal/osl/unx/interlck.c
@@ -160,6 +160,15 @@ oslInterlockedCount SAL_CALL osl_decrementInterlockedCount(oslInterlockedCount*
{
return __sync_sub_and_fetch(pCount, 1);
}
+#elif ( __GNUC__ > 4 ) || (( __GNUC__ == 4) && ( __GNUC_MINOR__ >= 4 ))
+oslInterlockedCount SAL_CALL osl_incrementInterlockedCount(oslInterlockedCount* pCount)
+{
+ return __sync_add_and_fetch(pCount, 1);
+}
+oslInterlockedCount SAL_CALL osl_decrementInterlockedCount(oslInterlockedCount* pCount)
+{
+ return __sync_sub_and_fetch(pCount, 1);
+}
#else
/* use only if nothing else works, expensive due to single mutex for all reference counts */