Ruby  3.1.4p223 (2023-03-30 revision HEAD)
sunpro.h
1 #ifndef RBIMPL_COMPILER_IS_SUNPRO_H /*-*-C++-*-vi:se ft=cpp:*/
2 #define RBIMPL_COMPILER_IS_SUNPRO_H
22 #if ! (defined(__SUNPRO_C) || defined(__SUNPRO_CC))
23 # define RBIMPL_COMPILER_IS_SunPro 0
24 
25 #elif defined(__SUNPRO_C) && __SUNPRO_C >= 0x5100
26 # define RBIMPL_COMPILER_IS_SunPro 1
27 # /* __SUNPRO_C = 0xXYYZ */
28 # define RBIMPL_COMPILER_VERSION_MAJOR (__SUNPRO_C >> 12)
29 # define RBIMPL_COMPILER_VERSION_MINOR ((__SUNPRO_C >> 8 & 0xF) * 10 + (__SUNPRO_C >> 4 & 0xF))
30 # define RBIMPL_COMPILER_VERSION_PATCH (__SUNPRO_C & 0xF)
31 
32 #elif defined(__SUNPRO_CC) && __SUNPRO_CC >= 0x5100
33 # define RBIMPL_COMPILER_IS_SunPro 1
34 # /* __SUNPRO_CC = 0xXYYZ */
35 # define RBIMPL_COMPILER_VERSION_MAJOR (__SUNPRO_CC >> 12)
36 # define RBIMPL_COMPILER_VERSION_MINOR ((__SUNPRO_CC >> 8 & 0xF) * 10 + (__SUNPRO_CC >> 4 & 0xF))
37 # define RBIMPL_COMPILER_VERSION_PATCH (__SUNPRO_CC & 0xF)
38 
39 #elif defined(__SUNPRO_C)
40 # define RBIMPL_COMPILER_IS_SunPro 1
41 # /* __SUNPRO_C = 0xXYZ */
42 # define RBIMPL_COMPILER_VERSION_MAJOR (__SUNPRO_C >> 8)
43 # define RBIMPL_COMPILER_VERSION_MINOR (__SUNPRO_C >> 4 & 0xF)
44 # define RBIMPL_COMPILER_VERSION_PATCH (__SUNPRO_C & 0xF)
45 
46 #else
47 # define RBIMPL_COMPILER_IS_SunPro 1
48 # /* __SUNPRO_CC = 0xXYZ */
49 # define RBIMPL_COMPILER_VERSION_MAJOR (__SUNPRO_CC >> 8)
50 # define RBIMPL_COMPILER_VERSION_MINOR (__SUNPRO_CC >> 4 & 0xF)
51 # define RBIMPL_COMPILER_VERSION_PATCH (__SUNPRO_CC & 0xF)
52 #endif
53 
54 #endif /* RBIMPL_COMPILER_IS_SUNPRO_H */