Under a configuration including cppflags=-DUNIVERSAL_PARSER, warnings listed below show in build time:
node.c:396:30: warning: initialization left-hand side might be a candidate for a format attribute [-Wsuggest-attribute=format] 396 | bug_report_func rb_bug = ast->node_buffer->config->bug; | ^~~
ruby_parser.c:655:21: warning: initialization left-hand side might be a candidate for a format attribute [-Wsuggest-attribute=format] 655 | .compile_warn = rb_compile_warn, | ^~~~~~~~~~~~~~~ ruby_parser.c:656:24: warning: initialization left-hand side might be a candidate for a format attribute [-Wsuggest-attribute=format] 656 | .compile_warning = rb_compile_warning, | ^~~~~~~~~~~~~~~~~~ ruby_parser.c:657:12: warning: initialization left-hand side might be a candidate for a format attribute [-Wsuggest-attribute=format] 657 | .bug = rb_bug, | ^~~~~~ ruby_parser.c:658:14: warning: initialization left-hand side might be a candidate for a format attribute [-Wsuggest-attribute=format] 658 | .fatal = rb_fatal, | ^~~~~~~~
To fix, this patch suggests adding __attribute__((format(printf, n, m))) to those function declarations.
[Universal parser] Fix -Wsuggest-attribute=format warnings
Under a configuration including
cppflags=-DUNIVERSAL_PARSER, warnings listed below show in build time:To fix, this patch suggests adding
__attribute__((format(printf, n, m)))to those function declarations.