Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

No longer compiles with gcc >= 14 #16

Open
darix opened this issue Aug 31, 2024 · 0 comments
Open

No longer compiles with gcc >= 14 #16

darix opened this issue Aug 31, 2024 · 0 comments

Comments

@darix
Copy link

darix commented Aug 31, 2024

compiling gc_logging.c
In file included from /usr/include/ruby-3.3.0/ruby/ruby.h:27,
                 from gc_logging.c:5:
gc_logging.c: In function ‘Init_gc_tracer_logging’:
/usr/include/ruby-3.3.0/ruby/internal/anyargs.h:338:142: error: passing argument 3 of ‘rb_define_module_function_00’ from incompatible pointer type [-Wincompatible-pointer-types]
  338 | #define rb_define_module_function(mod, mid, func, arity)    RBIMPL_ANYARGS_DISPATCH_rb_define_module_function((arity), (func))((mod), (mid), (func), (arity))
      |                                                                                                                                              ^~~~~~
      |                                                                                                                                              |
      |                                                                                                                                              VALUE (*)(int,  VALUE *, VALUE) {aka long unsigned int (*)(int,  long unsigned int *, long unsigned int)}
gc_logging.c:724:5: note: in expansion of macro ‘rb_define_module_function’
  724 |     rb_define_module_function(mod, "start_logging_", gc_tracer_start_logging, 0);
      |     ^~~~~~~~~~~~~~~~~~~~~~~~~
/usr/include/ruby-3.3.0/ruby/internal/anyargs.h:274:21: note: expected ‘VALUE (*)(VALUE)’ {aka ‘long unsigned int (*)(long unsigned int)’} but argument is of type ‘VALUE (*)(int,  VALUE *, VALUE)’ {aka ‘long unsigned int (*)(int,  long unsigned int *, long unsigned int)’}
  274 | RBIMPL_ANYARGS_DECL(rb_define_module_function, VALUE, const char *)
      |                     ^~~~~~~~~~~~~~~~~~~~~~~~~
/usr/include/ruby-3.3.0/ruby/internal/anyargs.h:255:41: note: in definition of macro ‘RBIMPL_ANYARGS_DECL’
  255 | RBIMPL_ANYARGS_ATTRSET(sym) static void sym ## _00(__VA_ARGS__, VALUE(*)(VALUE), int); \
      |                                         ^~~
At top level:
cc1: note: unrecognized command-line option ‘-Wno-self-assign’ may have been intended to silence earlier diagnostics
cc1: note: unrecognized command-line option ‘-Wno-parentheses-equality’ may have been intended to silence earlier diagnostics
cc1: note: unrecognized command-line option ‘-Wno-constant-logical-operand’ may have been intended to silence earlier diagnostics
make: *** [Makefile:248: gc_logging.o] Error 1
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

1 participant