summaryrefslogtreecommitdiff
path: root/internal/gc.h
diff options
context:
space:
mode:
author卜部昌平 <shyouhei@ruby-lang.org>2019-12-04 17:16:30 +0900
committer卜部昌平 <shyouhei@ruby-lang.org>2019-12-26 20:45:12 +0900
commit5e22f873ed26092522f9bfc617d729bac88b284f (patch)
tree8d66856526cd7efa87b46c966298e6f42d67e68f /internal/gc.h
parent33e9601938a79dae149caa88ff1bc06d376dd376 (diff)
downloadruby-5e22f873ed26092522f9bfc617d729bac88b284f.tar.gz
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).
Diffstat (limited to 'internal/gc.h')
-rw-r--r--internal/gc.h8
1 files changed, 5 insertions, 3 deletions
diff --git a/internal/gc.h b/internal/gc.h
index 74e52187c7..36da0db53d 100644
--- a/internal/gc.h
+++ b/internal/gc.h
@@ -18,9 +18,11 @@
struct rb_execution_context_struct; /* in vm_core.h */
-#undef NEWOBJ_OF
-#undef RB_NEWOBJ_OF
-#undef RB_OBJ_WRITE
+#ifdef NEWOBJ_OF
+# undef NEWOBJ_OF
+# undef RB_NEWOBJ_OF
+# undef RB_OBJ_WRITE
+#endif
/* optimized version of NEWOBJ() */
#define RB_NEWOBJ_OF(var, T, c, f) \