Ruby 3.0.5p211 (2022-11-24 revision ba5cf0f7c52d4d35cc6a173c89eda98ceffa2dcf)
long_long.h
Go to the documentation of this file.
1#ifndef RUBY_BACKWARD2_LONG_LONG_H /*-*-C++-*-vi:se ft=cpp:*/
2#define RUBY_BACKWARD2_LONG_LONG_H
31
32#if RBIMPL_HAS_WARNING("-Wc++11-long-long")
33# define HAVE_TRUE_LONG_LONG 1
34# define LONG_LONG \
35 RBIMPL_WARNING_PUSH() \
36 RBIMPL_WARNING_IGNORED(-Wc++11-long-long) \
37 long long \
38 RBIMPL_WARNING_POP()
39
40#elif RBIMPL_HAS_WARNING("-Wlong-long")
41# define HAVE_TRUE_LONG_LONG 1
42# define LONG_LONG \
43 RBIMPL_WARNING_PUSH() \
44 RBIMPL_WARNING_IGNORED(-Wlong-long) \
45 long long \
46 RBIMPL_WARNING_POP()
47
48#elif defined(HAVE_LONG_LONG)
49# define HAVE_TRUE_LONG_LONG 1
50# define LONG_LONG long long
51
52#elif SIZEOF___INT64 > 0
53# define HAVE_LONG_LONG 1
54# define LONG_LONG __int64
55# undef SIZEOF_LONG_LONG
56# define SIZEOF_LONG_LONG SIZEOF___INT64
57
58#else
59# error Hello! Ruby developers believe this message must not happen.
60# error If you encounter this message, can you file a bug report?
61# error Remember to attach a detailed description of your environment.
62# error Thank you!
63#endif
64
65#endif /* RBIMPL_BACKWARD2_LONG_LONG_H */
Defines RBIMPL_HAS_WARNING.
Thin wrapper to ruby/config.h.
Defines RBIMPL_WARNING_PUSH.