summaryrefslogtreecommitdiff
path: root/parse.y
diff options
context:
space:
mode:
authorNobuyoshi Nakada <nobu@ruby-lang.org>2023-01-07 11:47:50 +0900
committerNobuyoshi Nakada <nobu@ruby-lang.org>2023-01-07 11:47:50 +0900
commit41fbcc519302f11835713498c211078bedfcb074 (patch)
tree9ccd75e118c4aacdba98168630addd78483cb853 /parse.y
parent00d58afb5d7f3cf3a553e1e8f75f31e4d8781fe7 (diff)
downloadruby-41fbcc519302f11835713498c211078bedfcb074.tar.gz
Fix format specifiers for pointer differences
Diffstat (limited to 'parse.y')
-rw-r--r--parse.y19
1 files changed, 16 insertions, 3 deletions
diff --git a/parse.y b/parse.y
index ec9a82e534..2368387cd4 100644
--- a/parse.y
+++ b/parse.y
@@ -1242,7 +1242,15 @@ endless_method_name(struct parser_params *p, NODE *defn, const YYLTYPE *loc)
token_info_drop(p, "def", loc->beg_pos);
}
-#define debug_token_line(p, name, line) if (p->debug) rb_parser_printf(p, name ":%d (%d: %ld|%ld|%ld)\n", line, p->ruby_sourceline, p->lex.ptok - p->lex.pbeg, p->lex.pcur - p->lex.ptok, p->lex.pend - p->lex.pcur)
+#define debug_token_line(p, name, line) do { \
+ if (p->debug) { \
+ const char *const pcur = p->lex.pcur; \
+ const char *const ptok = p->lex.ptok; \
+ rb_parser_printf(p, name ":%d (%d: %"PRIdPTRDIFF"|%"PRIdPTRDIFF"|%"PRIdPTRDIFF")\n", \
+ line, p->ruby_sourceline, \
+ ptok - p->lex.pbeg, pcur - ptok, p->lex.pend - pcur); \
+ } \
+ } while (0)
#ifndef RIPPER
# define Qnone 0
@@ -6186,8 +6194,13 @@ ripper_yylval_id(struct parser_params *p, ID x)
static bool
parser_has_token(struct parser_params *p)
{
- if (p->keep_tokens && (p->lex.pcur < p->lex.ptok)) rb_bug("lex.pcur < lex.ptok. (line: %d) %ld|%ld|%ld", p->ruby_sourceline, p->lex.ptok - p->lex.pbeg, p->lex.pcur - p->lex.ptok, p->lex.pend - p->lex.pcur);
- return p->lex.pcur > p->lex.ptok;
+ const char *const pcur = p->lex.pcur;
+ const char *const ptok = p->lex.ptok;
+ if (p->keep_tokens && (pcur < ptok)) {
+ rb_bug("lex.pcur < lex.ptok. (line: %d) %"PRIdPTRDIFF"|%"PRIdPTRDIFF"|%"PRIdPTRDIFF"",
+ p->ruby_sourceline, ptok - p->lex.pbeg, pcur - ptok, p->lex.pend - pcur);
+ }
+ return pcur > ptok;
}
static VALUE