Ruby 3.5.0dev (2025-01-10 revision 5fab31b15e32622c4b71d1d347a41937e9f9c212)
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 */