diff options
author | 卜部昌平 <shyouhei@ruby-lang.org> | 2019-12-04 17:16:30 +0900 |
---|---|---|
committer | 卜部昌平 <shyouhei@ruby-lang.org> | 2019-12-26 20:45:12 +0900 |
commit | 5e22f873ed26092522f9bfc617d729bac88b284f (patch) | |
tree | 8d66856526cd7efa87b46c966298e6f42d67e68f /internal/struct.h | |
parent | 33e9601938a79dae149caa88ff1bc06d376dd376 (diff) |
decouple internal.h headers
Saves comitters' daily life by avoid #include-ing everything from
internal.h to make each file do so instead. This would significantly
speed up incremental builds.
We take the following inclusion order in this changeset:
1. "ruby/config.h", where _GNU_SOURCE is defined (must be the very
first thing among everything).
2. RUBY_EXTCONF_H if any.
3. Standard C headers, sorted alphabetically.
4. Other system headers, maybe guarded by #ifdef
5. Everything else, sorted alphabetically.
Exceptions are those win32-related headers, which tend not be self-
containing (headers have inclusion order dependencies).
Notes
Notes:
Merged: https://github.com/ruby/ruby/pull/2711
Diffstat (limited to 'internal/struct.h')
-rw-r--r-- | internal/struct.h | 21 |
1 files changed, 17 insertions, 4 deletions
diff --git a/internal/struct.h b/internal/struct.h index b0f7f2eddd..f205dbd89e 100644 --- a/internal/struct.h +++ b/internal/struct.h @@ -12,6 +12,7 @@ #include "internal/gc.h" /* for RB_OBJ_WRITE */ #include "internal/stdbool.h" /* for bool */ #include "ruby/ruby.h" /* for struct RBasic */ +#include "internal/gc.h" /* for RB_OBJ_WRITE */ enum { RSTRUCT_EMBED_LEN_MAX = RVALUE_EMBED_LEN_MAX, @@ -32,10 +33,22 @@ struct RStruct { }; #define RSTRUCT(obj) (R_CAST(RStruct)(obj)) -#undef RSTRUCT_LEN -#undef RSTRUCT_PTR -#undef RSTRUCT_SET -#undef RSTRUCT_GET + +#ifdef RSTRUCT_LEN +# undef RSTRUCT_LEN +#endif + +#ifdef RSTRUCT_PTR +# undef RSTRUCT_PTR +#endif + +#ifdef RSTRUCT_SET +# undef RSTRUCT_SET +#endif + +#ifdef RSTRUCT_GET +# undef RSTRUCT_GET +#endif /* struct.c */ VALUE rb_struct_init_copy(VALUE copy, VALUE s); |