summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--sal/inc/osl/file.h2
-rw-r--r--sal/inc/osl/file.hxx2
-rw-r--r--sal/inc/sal/types.h12
-rw-r--r--sal/qa/osl/file/osl_File.cxx4
4 files changed, 16 insertions, 4 deletions
diff --git a/sal/inc/osl/file.h b/sal/inc/osl/file.h
index bdb7693f5..b90ea3548 100644
--- a/sal/inc/osl/file.h
+++ b/sal/inc/osl/file.h
@@ -732,7 +732,7 @@ oslFileError SAL_CALL osl_openFile( rtl_uString *pustrFileURL, oslFileHandle *pH
@see osl_getFilePos()
*/
-oslFileError SAL_CALL osl_setFilePos( oslFileHandle Handle, sal_uInt32 uHow, sal_Int64 uPos );
+oslFileError SAL_CALL osl_setFilePos( oslFileHandle Handle, sal_uInt32 uHow, sal_Int64 uPos ) SAL_WARN_UNUSED_RESULT;
/** Retrieve the current position of the internal pointer of an open file.
diff --git a/sal/inc/osl/file.hxx b/sal/inc/osl/file.hxx
index e75b59160..df57e24ff 100644
--- a/sal/inc/osl/file.hxx
+++ b/sal/inc/osl/file.hxx
@@ -988,7 +988,7 @@ public:
@see getPos()
*/
- inline RC setPos( sal_uInt32 uHow, sal_Int64 uPos )
+ inline RC setPos( sal_uInt32 uHow, sal_Int64 uPos ) SAL_WARN_UNUSED_RESULT
{
return (RC) osl_setFilePos( _pData, uHow, uPos );
}
diff --git a/sal/inc/sal/types.h b/sal/inc/sal/types.h
index 1266c9ba7..33ff2d989 100644
--- a/sal/inc/sal/types.h
+++ b/sal/inc/sal/types.h
@@ -296,6 +296,18 @@ typedef void * sal_Handle;
#define SAL_EXCEPTION_DLLPRIVATE
#endif
+/** Use this as markup for functions and methods whose return value must be
+ checked.
+
+ Compilers that support a construct of this nature will emit a compile
+ time warning on unchecked return value.
+*/
+#if (__GNUC__ > 3 || (__GNUC__ == 3 && __GNUC_MINOR__ >= 4))
+# define SAL_WARN_UNUSED_RESULT __attribute__((warn_unused_result))
+#else
+# define SAL_WARN_UNUSED_RESULT
+#endif
+
/** Use this for pure virtual classes, e.g. class SAL_NO_VTABLE Foo { ...
This hinders the compiler from setting a generic vtable stating that
a pure virtual function was called and thus slightly reduces code size.
diff --git a/sal/qa/osl/file/osl_File.cxx b/sal/qa/osl/file/osl_File.cxx
index e38da907e..ffa19b569 100644
--- a/sal/qa/osl/file/osl_File.cxx
+++ b/sal/qa/osl/file/osl_File.cxx
@@ -4246,8 +4246,8 @@ namespace osl_File
//check if is the new file
File newFile( aTmpName4 );
newFile.open( osl_File_OpenFlag_Write | osl_File_OpenFlag_Read );
- newFile.setPos( osl_Pos_End, 0 );
- // CPPUNIT_ASSERT( ::osl::FileBase::E_None == nError1 );
+ nError1 = newFile.setPos( osl_Pos_End, 0 );
+ CPPUNIT_ASSERT( ::osl::FileBase::E_None == nError1 );
sal_uInt64 nFilePointer;
nError1 = newFile.getPos( nFilePointer );
CPPUNIT_ASSERT( ::osl::FileBase::E_None == nError1 );