From 90b53f4c29dd845140175943263b9c67995324c4 Mon Sep 17 00:00:00 2001 From: KOBAYASHI Shuji Date: Mon, 11 Jan 2021 09:21:07 +0900 Subject: Avoid including `presym.inc` in existing header files Addressed an issue where existing programs linking `libmruby.a` could only be built by adding `/include` to compiler's include path. --- src/array.c | 2 +- src/backtrace.c | 1 + src/class.c | 1 + src/dump.c | 5 ++++- src/error.c | 1 + src/gc.c | 1 + src/hash.c | 3 +++ src/kernel.c | 1 + src/numeric.c | 1 + src/object.c | 1 + src/print.c | 1 + src/proc.c | 1 + src/range.c | 1 + src/string.c | 1 + src/symbol.c | 1 + src/variable.c | 1 + src/vm.c | 1 + 17 files changed, 22 insertions(+), 2 deletions(-) (limited to 'src') diff --git a/src/array.c b/src/array.c index ca00b6f3e..a66ff8183 100644 --- a/src/array.c +++ b/src/array.c @@ -10,7 +10,7 @@ #include #include #include -#include +#include #include "value_array.h" #define ARY_DEFAULT_LEN 4 diff --git a/src/backtrace.c b/src/backtrace.c index 1006f2f86..8b42b1e0e 100644 --- a/src/backtrace.c +++ b/src/backtrace.c @@ -14,6 +14,7 @@ #include #include #include +#include struct backtrace_location { int32_t lineno; diff --git a/src/class.c b/src/class.c index 85a26d343..7533ac2b0 100644 --- a/src/class.c +++ b/src/class.c @@ -17,6 +17,7 @@ #include #include #include +#include union mt_ptr { struct RProc *proc; diff --git a/src/dump.c b/src/dump.c index 79908b47f..45900cecd 100644 --- a/src/dump.c +++ b/src/dump.c @@ -1222,7 +1222,10 @@ mrb_dump_irep_cstruct(mrb_state *mrb, const mrb_irep *irep, uint8_t flags, FILE if (fp == NULL || initname == NULL || initname[0] == '\0') { return MRB_DUMP_INVALID_ARGUMENT; } - if (fprintf(fp, "#include \n" "#include \n\n") < 0) { + if (fprintf(fp, "#include \n" + "#include \n" + "#include \n" + "\n") < 0) { return MRB_DUMP_WRITE_FAULT; } fputs("#define mrb_BRACED(...) {__VA_ARGS__}\n", fp); diff --git a/src/error.c b/src/error.c index 4f7ca8641..d2f1c27ac 100644 --- a/src/error.c +++ b/src/error.c @@ -16,6 +16,7 @@ #include #include #include +#include MRB_API mrb_value mrb_exc_new(mrb_state *mrb, struct RClass *c, const char *ptr, size_t len) diff --git a/src/gc.c b/src/gc.c index eeabc3bf9..7d21f4330 100644 --- a/src/gc.c +++ b/src/gc.c @@ -22,6 +22,7 @@ #include #include #include +#include /* = Tri-color Incremental Garbage Collection diff --git a/src/hash.c b/src/hash.c index fe14865cf..714601b02 100644 --- a/src/hash.c +++ b/src/hash.c @@ -11,6 +11,7 @@ #include #include #include +#include /* * === Glossary @@ -254,6 +255,8 @@ HT_ASSERT_SAFE_READ(ea_capa); #define h_ar_p(h) (!h_ht_p(h)) #define h_ar_on(h) h_ht_off(h) #define lesser(a, b) ((a) < (b) ? (a) : (b)) +#define RHASH_IFNONE(hash) mrb_iv_get(mrb, (hash), MRB_SYM(ifnone)) +#define RHASH_PROCDEFAULT(hash) RHASH_IFNONE(hash) static uint32_t ib_upper_bound_for(uint32_t capa); static uint32_t ib_bit_to_capa(uint32_t bit); diff --git a/src/kernel.c b/src/kernel.c index b98e52c42..769ce58c9 100644 --- a/src/kernel.c +++ b/src/kernel.c @@ -13,6 +13,7 @@ #include #include #include +#include MRB_API mrb_bool mrb_func_basic_p(mrb_state *mrb, mrb_value obj, mrb_sym mid, mrb_func_t func) diff --git a/src/numeric.c b/src/numeric.c index 117f447e5..5e6f1b524 100644 --- a/src/numeric.c +++ b/src/numeric.c @@ -17,6 +17,7 @@ #include #include #include +#include #ifndef MRB_NO_FLOAT #ifdef MRB_USE_FLOAT32 diff --git a/src/object.c b/src/object.c index bf4d743ff..d6474ae97 100644 --- a/src/object.c +++ b/src/object.c @@ -9,6 +9,7 @@ #include #include #include +#include MRB_API mrb_bool mrb_obj_eq(mrb_state *mrb, mrb_value v1, mrb_value v2) diff --git a/src/print.c b/src/print.c index 68b2aad91..607eb9d1f 100644 --- a/src/print.c +++ b/src/print.c @@ -8,6 +8,7 @@ #include #include #include +#include #include #ifndef MRB_NO_STDIO diff --git a/src/proc.c b/src/proc.c index 68ca941c3..e09fcb5b7 100644 --- a/src/proc.c +++ b/src/proc.c @@ -9,6 +9,7 @@ #include #include #include +#include static const mrb_code call_iseq[] = { OP_CALL, diff --git a/src/range.c b/src/range.c index f3f02a010..a109257c0 100644 --- a/src/range.c +++ b/src/range.c @@ -9,6 +9,7 @@ #include #include #include +#include #define RANGE_INITIALIZED_MASK 1 #define RANGE_INITIALIZED(p) ((p)->flags |= RANGE_INITIALIZED_MASK) diff --git a/src/string.c b/src/string.c index 83401b3db..eb4136b10 100644 --- a/src/string.c +++ b/src/string.c @@ -22,6 +22,7 @@ #include #include #include +#include typedef struct mrb_shared_string { int refcnt; diff --git a/src/symbol.c b/src/symbol.c index 58decc1f1..76e2abec4 100644 --- a/src/symbol.c +++ b/src/symbol.c @@ -11,6 +11,7 @@ #include #include #include +#include #ifndef MRB_NO_PRESYM diff --git a/src/variable.c b/src/variable.c index 9343a2bf5..d5a7d90c7 100644 --- a/src/variable.c +++ b/src/variable.c @@ -10,6 +10,7 @@ #include #include #include +#include struct iv_elem { mrb_sym key; diff --git a/src/vm.c b/src/vm.c index 57b38ee39..c0544d4ad 100644 --- a/src/vm.c +++ b/src/vm.c @@ -24,6 +24,7 @@ #include "value_array.h" #include #include +#include #ifdef MRB_NO_STDIO #if defined(__cplusplus) -- cgit v1.2.3