Author: truckman
Date: Sat Sep  3 01:44:05 2016
New Revision: 1759047

URL: http://svn.apache.org/viewvc?rev=1759047&view=rev
Log:
In the SAL_UNUSED macro, __attribute((__unused__)) should be
__attribute__((__unused__)), but both clang and gcc seem to understand
both.
 
Since __attribute__((__unused__)) can preceed the variable name, just
like __pragma(warning(suppress:4100;suppress:4101)) for Visual Studio,
so de-parameterize the SAL_UNUSED macro.
 
Gcc whines if __attribute__((__unused__)) is used for a struct member,
so create a separate define, SAL_UNUSED_MEMBER, which is empty for
gcc, to handle struct members.


Modified:
    openoffice/trunk/main/sal/inc/sal/types.h
    openoffice/trunk/main/sc/inc/compiler.hxx

Modified: openoffice/trunk/main/sal/inc/sal/types.h
URL: 
http://svn.apache.org/viewvc/openoffice/trunk/main/sal/inc/sal/types.h?rev=1759047&r1=1759046&r2=1759047&view=diff
==============================================================================
--- openoffice/trunk/main/sal/inc/sal/types.h (original)
+++ openoffice/trunk/main/sal/inc/sal/types.h Sat Sep  3 01:44:05 2016
@@ -235,12 +235,18 @@ typedef void *                   sal_Han
 #   define SAL_MAX_ENUM 0x7fff
 #endif
 
-#if defined(__GNUC__) || defined(__clang__)
-#define SAL_UNUSED(__x__)      __x__ __attribute((__unused__))
+#if defined(__clang__)
+#define SAL_UNUSED             __attribute__((__unused__))
+#define SAL_UNUSED_MEMBER      __attribute__((__unused__))
+#elif defined(__GNUC__)
+#define SAL_UNUSED             __attribute__((__unused__))
+#define SAL_UNUSED_MEMBER
 #elif defined(_MSC_VER)
-#define SAL_UNUSED(__x__)      __pragma(warning(suppress:4100;suppress:4101)) 
__x__
+#define SAL_UNUSED             __pragma(warning(suppress:4100;suppress:4101))
+#define SAL_UNUSED_MEMBER      __pragma(warning(suppress:4100;suppress:4101))
 #else
-#define SAL_UNUSED(__x__)      __x__
+#define SAL_UNUSED
+#define SAL_UNUSED_MEMBER
 #endif
 
 #if defined(_MSC_VER) || defined(__MINGW32__)

Modified: openoffice/trunk/main/sc/inc/compiler.hxx
URL: 
http://svn.apache.org/viewvc/openoffice/trunk/main/sc/inc/compiler.hxx?rev=1759047&r1=1759046&r2=1759047&view=diff
==============================================================================
--- openoffice/trunk/main/sc/inc/compiler.hxx (original)
+++ openoffice/trunk/main/sc/inc/compiler.hxx Sat Sep  3 01:44:05 2016
@@ -117,10 +117,10 @@ struct ScDoubleRawToken
 {
 private:
     // SC_TOKEN_FIX_MEMBERS
-    OpCode   SAL_UNUSED(eOp);
-    formula::StackVar SAL_UNUSED(eType);
-    sal_uInt16   SAL_UNUSED(nRefCnt);
-    sal_Bool     SAL_UNUSED(bRaw);
+    OpCode  SAL_UNUSED_MEMBER          eOp;
+    formula::StackVar SAL_UNUSED_MEMBER        eType;
+    sal_uInt16 SAL_UNUSED_MEMBER       nRefCnt;
+    sal_Bool SAL_UNUSED_MEMBER         bRaw;
 public:
     union
     {   // union only to assure alignment identical to ScRawToken


Reply via email to