1 | #ifndef __BEAENGINE_MACROS_H__
|
---|
2 | #define __BEAENGINE_MACROS_H__
|
---|
3 | /*
|
---|
4 | ============================================================================
|
---|
5 | Compiler Silencing macros
|
---|
6 |
|
---|
7 | Some compilers complain about parameters that are not used. This macro
|
---|
8 | should keep them quiet.
|
---|
9 | ============================================================================
|
---|
10 | */
|
---|
11 |
|
---|
12 | # if defined (__GNUC__) && ((__GNUC__ > 4 || (__GNUC__ == 4 && __GNUC_MINOR__ >= 2)))
|
---|
13 | # define BEA_UNUSED_ARG(a) (void) (a)
|
---|
14 | #elif defined (ghs) || defined (__GNUC__) || defined (__hpux) || defined (__sgi) || defined (__DECCXX) || defined (__rational__) || defined (__USLC__) || defined (BEA__RM544) || defined (__DCC__) || defined (__PGI) || defined (__TANDEM) || defined(__BORLANDC__)
|
---|
15 | /*
|
---|
16 | Some compilers complain about "statement with no effect" with (a).
|
---|
17 | This eliminates the warnings, and no code is generated for the null
|
---|
18 | conditional statement. Note, that may only be true if -O is enabled,
|
---|
19 | such as with GreenHills (ghs) 1.8.8.
|
---|
20 | */
|
---|
21 |
|
---|
22 | # define BEA_UNUSED_ARG(a) do {/* null */} while (&a == 0)
|
---|
23 | #elif defined (__DMC__)
|
---|
24 | #if defined(__cplusplus)
|
---|
25 | #define BEA_UNUSED_ID(identifier)
|
---|
26 | template <class T>
|
---|
27 | inline void BEA_UNUSED_ARG(const T& BEA_UNUSED_ID(t)) { }
|
---|
28 | #else
|
---|
29 | #define BEA_UNUSED_ARG(a)
|
---|
30 | #endif
|
---|
31 | #else /* ghs || __GNUC__ || ..... */
|
---|
32 | # define BEA_UNUSED_ARG(a) (a)
|
---|
33 | #endif /* ghs || __GNUC__ || ..... */
|
---|
34 |
|
---|
35 | #if defined (_MSC_VER) || defined(__sgi) || defined (ghs) || defined (__DECCXX) || defined(__BORLANDC__) || defined (BEA_RM544) || defined (__USLC__) || defined (__DCC__) || defined (__PGI) || defined (__TANDEM) || (defined (__HP_aCC) && (__HP_aCC >= 60500))
|
---|
36 | # define BEA_NOTREACHED(a)
|
---|
37 | #else /* __sgi || ghs || ..... */
|
---|
38 | # define BEA_NOTREACHED(a) a
|
---|
39 | #endif /* __sgi || ghs || ..... */
|
---|
40 |
|
---|
41 | #endif /* __BEAENGINE_MACROS_H__ */
|
---|