LibreOffice Module sal (master) 1
|
Go to the source code of this file.
Classes | |
struct | _sal_Sequence |
This is the binary specification of a SAL sequence. More... | |
Macros | |
#define | sal_False ((sal_Bool)0) |
#define | sal_True ((sal_Bool)1) |
#define | SAL_UNICODE_NOTEQUAL_WCHAR_T |
#define | SAL_PRI_SIZET "z" |
#define | SAL_PRI_PTRDIFFT "t" |
#define | SAL_MIN_INT8 ((sal_Int8) (-0x7F - 1)) |
#define | SAL_MAX_INT8 ((sal_Int8) 0x7F) |
#define | SAL_MAX_UINT8 ((sal_uInt8) 0xFF) |
#define | SAL_MIN_INT16 ((sal_Int16) (-0x7FFF - 1)) |
#define | SAL_MAX_INT16 ((sal_Int16) 0x7FFF) |
#define | SAL_MAX_UINT16 ((sal_uInt16) 0xFFFF) |
#define | SAL_MIN_INT32 ((sal_Int32) (-0x7FFFFFFF - 1)) |
#define | SAL_MAX_INT32 ((sal_Int32) 0x7FFFFFFF) |
#define | SAL_MAX_UINT32 ((sal_uInt32) 0xFFFFFFFF) |
#define | SAL_MIN_INT64 ((sal_Int64) (SAL_CONST_INT64(-0x7FFFFFFFFFFFFFFF) - 1)) |
#define | SAL_MAX_INT64 ((sal_Int64) SAL_CONST_INT64(0x7FFFFFFFFFFFFFFF)) |
#define | SAL_MAX_UINT64 ((sal_uInt64) SAL_CONST_UINT64(0xFFFFFFFFFFFFFFFF)) |
#define | SAL_MAX_ENUM 0x7fffffff |
#define | SAL_EXCEPTION_DLLPUBLIC_EXPORT |
Exporting the symbols necessary for exception handling on GCC. More... | |
#define | SAL_EXCEPTION_DLLPRIVATE |
#define | SAL_WARN_UNUSED_RESULT |
Use this as markup for functions and methods whose return value must be checked. More... | |
#define | SAL_NO_VTABLE |
Use this for pure virtual classes, e.g. More... | |
#define | SAL_SEQUENCE_HEADER_SIZE ((sal_Size) offsetof(sal_Sequence,elements)) |
#define | SAL_THROW_EXTERN_C() |
Nothrow specification for C functions. More... | |
#define | SAL_INT_CAST(type, expr) ((type) (expr)) |
A cast between integer types, to avoid C compiler warnings. More... | |
#define | SAL_DEPRECATED(message) |
Use as follows: SAL_DEPRECATED("Don't use, it's evil.") void doit(int nPara);. More... | |
#define | SAL_DEPRECATED_INTERNAL(message) SAL_DEPRECATED(message) |
This macro is used in cppumaker-generated include files, to tag entities that are marked as. More... | |
#define | SAL_WNODEPRECATED_DECLARATIONS_PUSH |
Use as follows: SAL_WNODEPRECATED_DECLARATIONS_PUSH ::std::auto_ptr<X> ... SAL_WNODEPRECATED_DECLARATIONS_POP. More... | |
#define | SAL_WNODEPRECATED_DECLARATIONS_POP |
#define | SAL_WNOUNREACHABLE_CODE_PUSH |
Use as follows: More... | |
#define | SAL_WNOUNREACHABLE_CODE_POP |
#define | SAL_WARN_UNUSED |
Annotate unused but required C++ function parameters. More... | |
Typedefs | |
typedef unsigned char | sal_Bool |
typedef signed char | sal_Int8 |
typedef unsigned char | sal_uInt8 |
typedef sal_uInt16 | sal_Unicode |
typedef void * | sal_Handle |
typedef struct _sal_Sequence | sal_Sequence |
This is the binary specification of a SAL sequence. More... | |
#define SAL_DEPRECATED | ( | message | ) |
#define SAL_DEPRECATED_INTERNAL | ( | message | ) | SAL_DEPRECATED(message) |
This macro is used in cppumaker-generated include files, to tag entities that are marked as.
It causes deprecation warnings to be generated in external code, but for now is silenced in internal code. It would need some substantial clean-up of internal code to fix all warnings/errors generated by it. (Once that is done, it can become a synonym for SAL_DEPRECATED under LIBO_INTERNAL_ONLY, too. Completely removing the macro then would be incompatible, in case there are include files still around generated with a cppumaker that emitted it.)
#define SAL_EXCEPTION_DLLPUBLIC_EXPORT |
A cast between integer types, to avoid C compiler warnings.
In C source code, use SAL_INT_CAST(type, expr) instead of ((type) (expr)) whenever a compiler warning about integer type problems shall be silenced. That way, source code that needs to be modified when the type of any of the expressions involved in the compiler warning is changed can be found more easily.
The argument 'type' must be an integer type and the argument 'expr' must be an integer expression. Both arguments are evaluated exactly once.
#define SAL_MAX_INT64 ((sal_Int64) SAL_CONST_INT64(0x7FFFFFFFFFFFFFFF)) |
#define SAL_MAX_UINT64 ((sal_uInt64) SAL_CONST_UINT64(0xFFFFFFFFFFFFFFFF)) |
#define SAL_MIN_INT64 ((sal_Int64) (SAL_CONST_INT64(-0x7FFFFFFFFFFFFFFF) - 1)) |
#define SAL_NO_VTABLE |
#define SAL_SEQUENCE_HEADER_SIZE ((sal_Size) offsetof(sal_Sequence,elements)) |
#define SAL_THROW_EXTERN_C | ( | ) |
#define SAL_WARN_UNUSED |
Annotate unused but required C++ function parameters.
An unused parameter is required if the function needs to adhere to a given type (e.g., if its address is assigned to a function pointer of a specific type, or if it is called from template code). This annotation helps static analysis tools suppress false warnings. In the case of virtual functions (where unused required parameters are common, too), the annotation is not required (as static analysis tools can themselves derive the information whether a function is virtual).
Use the annotation in function definitions like
void f(SAL_UNUSED_PARAMETER int) {}
C does not allow unnamed parameters, anyway, so a function definition like the above needs to be written there as
void f(int dummy) { (void) dummy; / * avoid warnings * / }
without a SAL_UNUSED_PARAMETER annotation.
The compiler cannot warn about unused instances if they have non-trivial or external constructors or destructors. Classes marked with SAL_WARN_UNUSED will be warned about.
#define SAL_WARN_UNUSED_RESULT |
#define SAL_WNODEPRECATED_DECLARATIONS_PUSH |
#define SAL_WNOUNREACHABLE_CODE_PUSH |
Use as follows:
SAL_WNOUNREACHABLE_CODE_PUSH
function definition
SAL_WNOUNREACHABLE_CODE_POP
Useful in cases where the compiler is "too clever" like when doing link-time code generation, and noticing that a called function always throws, and fixing the problem cleanly so that it produces no warnings in normal non-LTO compilations either is not easy.
typedef void* sal_Handle |
typedef struct _sal_Sequence sal_Sequence |
This is the binary specification of a SAL sequence.
typedef sal_uInt16 sal_Unicode |