ruby-ll icon indicating copy to clipboard operation
ruby-ll copied to clipboard

Data_Get_Struct deprecation warnings when compiling

Open yorickpeterse opened this issue 5 months ago • 0 comments

When compiling using rake build, the following deprecation warnings are produced:

../../../../ext/c/driver.c: In function ‘ll_driver_allocate’:
../../../../ext/c/driver.c:54:5: warning: ‘rb_data_object_get_warning’ is deprecated: by TypedData [-Wdeprecated-declarations]
   54 |     Data_Get_Struct(config, DriverConfig, state->config);
      |     ^~~~~~~~~~~~~~~
In file included from /usr/include/ruby-3.4.0/ruby/internal/core.h:27,
                 from /usr/include/ruby-3.4.0/ruby/ruby.h:29,
                 from /usr/include/ruby-3.4.0/ruby.h:38,
                 from ../../../../ext/c/driver.h:4,
                 from ../../../../ext/c/driver.c:1:
/usr/include/ruby-3.4.0/ruby/internal/core/rdata.h:325:1: note: declared here
  325 | rb_data_object_get_warning(VALUE obj)
      | ^~~~~~~~~~~~~~~~~~~~~~~~~~
../../../../ext/c/driver.c:59:5: warning: ‘rb_data_object_wrap_warning’ is deprecated: by TypedData [-Wdeprecated-declarations]
   59 |     return Data_Wrap_Struct(klass, ll_driver_mark, ll_driver_free, state);
      |     ^~~~~~
/usr/include/ruby-3.4.0/ruby/internal/core/rdata.h:293:1: note: declared here
  293 | rb_data_object_wrap_warning(VALUE klass, void *ptr, RUBY_DATA_FUNC mark, RUBY_DATA_FUNC free)
      | ^~~~~~~~~~~~~~~~~~~~~~~~~~~
../../../../ext/c/driver.c: In function ‘ll_driver_each_token’:
../../../../ext/c/driver.c:103:5: warning: ‘rb_data_object_get_warning’ is deprecated: by TypedData [-Wdeprecated-declarations]
  103 |     Data_Get_Struct(self, DriverState, state);
      |     ^~~~~~~~~~~~~~~
/usr/include/ruby-3.4.0/ruby/internal/core/rdata.h:325:1: note: declared here
  325 | rb_data_object_get_warning(VALUE obj)
      | ^~~~~~~~~~~~~~~~~~~~~~~~~~
../../../../ext/c/driver.c: In function ‘ll_driver_parse’:
../../../../ext/c/driver.c:323:5: warning: ‘rb_data_object_get_warning’ is deprecated: by TypedData [-Wdeprecated-declarations]
  323 |     Data_Get_Struct(self, DriverState, state);
      |     ^~~~~~~~~~~~~~~
/usr/include/ruby-3.4.0/ruby/internal/core/rdata.h:325:1: note: declared here
  325 | rb_data_object_get_warning(VALUE obj)
      | ^~~~~~~~~~~~~~~~~~~~~~~~~~
compiling ../../../../ext/c/driver_config.c
../../../../ext/c/driver_config.c: In function ‘ll_driver_config_allocate’:
../../../../ext/c/driver_config.c:38:5: warning: ‘rb_data_object_wrap_warning’ is deprecated: by TypedData [-Wdeprecated-declarations]
   38 |     return Data_Wrap_Struct(
      |     ^~~~~~
In file included from /usr/include/ruby-3.4.0/ruby/internal/core.h:27,
                 from /usr/include/ruby-3.4.0/ruby/ruby.h:29,
                 from /usr/include/ruby-3.4.0/ruby.h:38,
                 from ../../../../ext/c/driver_config.h:4,
                 from ../../../../ext/c/driver_config.c:1:
/usr/include/ruby-3.4.0/ruby/internal/core/rdata.h:293:1: note: declared here
  293 | rb_data_object_wrap_warning(VALUE klass, void *ptr, RUBY_DATA_FUNC mark, RUBY_DATA_FUNC free)
      | ^~~~~~~~~~~~~~~~~~~~~~~~~~~
../../../../ext/c/driver_config.c: In function ‘ll_driver_config_set_terminals’:
../../../../ext/c/driver_config.c:62:5: warning: ‘rb_data_object_get_warning’ is deprecated: by TypedData [-Wdeprecated-declarations]
   62 |     Data_Get_Struct(self, DriverConfig, config);
      |     ^~~~~~~~~~~~~~~
/usr/include/ruby-3.4.0/ruby/internal/core/rdata.h:325:1: note: declared here
  325 | rb_data_object_get_warning(VALUE obj)
      | ^~~~~~~~~~~~~~~~~~~~~~~~~~
../../../../ext/c/driver_config.c: In function ‘ll_driver_config_set_rules’:
../../../../ext/c/driver_config.c:92:5: warning: ‘rb_data_object_get_warning’ is deprecated: by TypedData [-Wdeprecated-declarations]
   92 |     Data_Get_Struct(self, DriverConfig, config);
      |     ^~~~~~~~~~~~~~~
/usr/include/ruby-3.4.0/ruby/internal/core/rdata.h:325:1: note: declared here
  325 | rb_data_object_get_warning(VALUE obj)
      | ^~~~~~~~~~~~~~~~~~~~~~~~~~
../../../../ext/c/driver_config.c: In function ‘ll_driver_config_set_table’:
../../../../ext/c/driver_config.c:132:5: warning: ‘rb_data_object_get_warning’ is deprecated: by TypedData [-Wdeprecated-declarations]
  132 |     Data_Get_Struct(self, DriverConfig, config);
      |     ^~~~~~~~~~~~~~~
/usr/include/ruby-3.4.0/ruby/internal/core/rdata.h:325:1: note: declared here
  325 | rb_data_object_get_warning(VALUE obj)
      | ^~~~~~~~~~~~~~~~~~~~~~~~~~
../../../../ext/c/driver_config.c: In function ‘ll_driver_config_set_actions’:
../../../../ext/c/driver_config.c:167:5: warning: ‘rb_data_object_get_warning’ is deprecated: by TypedData [-Wdeprecated-declarations]
  167 |     Data_Get_Struct(self, DriverConfig, config);
      |     ^~~~~~~~~~~~~~~
/usr/include/ruby-3.4.0/ruby/internal/core/rdata.h:325:1: note: declared here
  325 | rb_data_object_get_warning(VALUE obj)
      | ^~~~~~~~~~~~~~~~~~~~~~~~~~

I haven't kept up with the Ruby C API changes so I'm not sure what needs to be done to resolve these warnings.

yorickpeterse avatar Sep 05 '25 14:09 yorickpeterse