ViewVC Help
View File | Revision Log | View Changeset | Root Listing
root/Oni2/Daodan/src/beaengine/macros.h
Revision: 984
Committed: Sun Mar 16 23:35:10 2014 UTC (11 years, 6 months ago) by alloc
Content type: text/x-chdr
File size: 1836 byte(s)
Log Message:
Daodan: TV code

File Contents

# Content
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__ */