Ruby 3.5.0dev (2025-02-20 revision 34098b669c0cbc024cd08e686891f1dfe0a10aaf)
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.