diff options
-rw-r--r-- | compile.c | 15 | ||||
-rw-r--r-- | tool/mk_builtin_loader.rb | 5 |
2 files changed, 17 insertions, 3 deletions
@@ -7045,7 +7045,8 @@ iseq_builtin_function_name(const enum node_type type, const NODE *recv, ID mid) static const char prefix[] = "__builtin_"; const size_t prefix_len = sizeof(prefix) - 1; - if (type == NODE_CALL) { if (recv) { switch (nd_type(recv)) { case NODE_VCALL: @@ -7053,14 +7054,22 @@ iseq_builtin_function_name(const enum node_type type, const NODE *recv, ID mid) return name; } break; default: break; } } - } - else if (type == NODE_VCALL || type == NODE_FCALL) { if (UNLIKELY(strncmp(prefix, name, prefix_len) == 0)) { return &name[prefix_len]; } } return NULL; } @@ -113,6 +113,11 @@ def collect_builtin base, tree, name, bs, inlines, params = nil if recv func_name = nil case recv.first when :vcall _, recv = recv if recv.first == :@ident and recv[1] == "__builtin" |