diff options
| author | dearblue <[email protected]> | 2021-07-17 20:32:38 +0900 |
|---|---|---|
| committer | dearblue <[email protected]> | 2021-07-17 20:32:38 +0900 |
| commit | dbd249cace646b25b929e92eb26083a1826fd30f (patch) | |
| tree | 4ed47d5c7e65c6af2a226f4274db18bbc678436a /include/mruby.h | |
| parent | d4e22c2cec78945fa192917bfe44c6a0f979d7ee (diff) | |
| download | mruby-dbd249cace646b25b929e92eb26083a1826fd30f.tar.gz mruby-dbd249cace646b25b929e92eb26083a1826fd30f.zip | |
Output an error if the `INTPTR_MAX` macro is undefined in C++
When doing `conf.enable_cxx_abi` and compiling with FreeBSD + clang or MinGW, such as `INTPTR_MAX` constant macro is not defined if `#include <stdint.h>` precedes `#include <mruby.h>`.
Currently I get a warning when I use an undefined macro, but if I don't notice it I get confused in a link error.
It can be expected that the problem will be easier to understand by making a clear error.
Adding `-Werror=undef` as a compiler flag can also result in an error, but this can be a problem if the system header file itself uses undefined macros, for example.
This patch does minimal confirmation only, but has no side effects.
Diffstat (limited to 'include/mruby.h')
| -rw-r--r-- | include/mruby.h | 3 |
1 files changed, 3 insertions, 0 deletions
diff --git a/include/mruby.h b/include/mruby.h index 93aab5672..77f862356 100644 --- a/include/mruby.h +++ b/include/mruby.h @@ -44,6 +44,9 @@ #include <limits.h> #ifdef __cplusplus +#ifndef UINTPTR_MAX +#error Must be placed `#include <mruby.h>` before `#include <stdint.h>` +#endif #ifndef SIZE_MAX #ifdef __SIZE_MAX__ #define SIZE_MAX __SIZE_MAX__ |
