Ruby  3.4.0dev (2024-11-05 revision 348a53415339076afc4a02fcd09f3ae36e9c4c61)
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
28 #include "ruby/internal/config.h"
31 
32 #if defined(__DOXYGEN__)
33 #
34 # define HAVE_LONG_LONG 1
35 # define HAVE_TRUE_LONG_LONG 1
36 #
37 #
38 # define LONG_LONG long long.
39 
40 #elif RBIMPL_HAS_WARNING("-Wc++11-long-long")
41 # define HAVE_TRUE_LONG_LONG 1
42 # define LONG_LONG \
43  RBIMPL_WARNING_PUSH() \
44  RBIMPL_WARNING_IGNORED(-Wc++11-long-long) \
45  long long \
46  RBIMPL_WARNING_POP()
47 
48 #elif RBIMPL_HAS_WARNING("-Wlong-long")
49 # define HAVE_TRUE_LONG_LONG 1
50 # define LONG_LONG \
51  RBIMPL_WARNING_PUSH() \
52  RBIMPL_WARNING_IGNORED(-Wlong-long) \
53  long long \
54  RBIMPL_WARNING_POP()
55 
56 #elif defined(HAVE_LONG_LONG)
57 # define HAVE_TRUE_LONG_LONG 1
58 # define LONG_LONG long long
59 
60 #elif SIZEOF___INT64 > 0
61 # define HAVE_LONG_LONG 1
62 # define LONG_LONG __int64
63 # undef SIZEOF_LONG_LONG
64 # define SIZEOF_LONG_LONG SIZEOF___INT64
65 
66 #else
67 # error Hello! Ruby developers believe this message must not happen.
68 # error If you encounter this message, can you file a bug report?
69 # error Remember to attach a detailed description of your environment.
70 # error Thank you!
71 #endif
72 
73 #endif /* RBIMPL_BACKWARD2_LONG_LONG_H */
Defines RBIMPL_HAS_WARNING.
Defines RBIMPL_WARNING_PUSH.