Skip to content

Address compilation warnings#338

Merged
ofajardo merged 1 commit into
Roche:devfrom
hpoettker:compilation-warnings
Jun 9, 2026
Merged

Address compilation warnings#338
ofajardo merged 1 commit into
Roche:devfrom
hpoettker:compilation-warnings

Conversation

@hpoettker

Copy link
Copy Markdown
Contributor

Compiling the code with

pip install -v .

on Ubuntu produces a lot of warnings. Most of them come from ReadStat but not all of them.

Below, I'll post the relevant section of the output of

pip install -v . 2>&1 | grep -A3 pyreadstat

This PR addresses these particular issues. Most of the warnings are about missing const qualifiers but there are also two potentially uninitialized variables and an unused function.

  pyreadstat/_readstat_parser.c: In function ‘__pyx_f_10pyreadstat_16_readstat_parser_convert_readstat_to_python_value’:
  pyreadstat/_readstat_parser.c:7739:25: warning: assignment discards ‘const’ qualifier from pointer target type [-Wdiscarded-qualifiers]
   7739 |     __pyx_v_c_str_value = readstat_string_value(__pyx_v_value);
        |                         ^
  pyreadstat/_readstat_parser.c: In function ‘__pyx_f_10pyreadstat_16_readstat_parser_handle_metadata’:
  pyreadstat/_readstat_parser.c:8608:24: warning: assignment discards ‘const’ qualifier from pointer target type [-Wdiscarded-qualifiers]
   8608 |   __pyx_v_mr_sets_orig = readstat_get_multiple_response_sets(__pyx_v_metadata);
        |                        ^
  pyreadstat/_readstat_parser.c:8899:23: warning: assignment discards ‘const’ qualifier from pointer target type [-Wdiscarded-qualifiers]
   8899 |   __pyx_v_flabel_orig = readstat_get_file_label(__pyx_v_metadata);
        |                       ^
  pyreadstat/_readstat_parser.c:8908:26: warning: assignment discards ‘const’ qualifier from pointer target type [-Wdiscarded-qualifiers]
   8908 |   __pyx_v_fencoding_orig = readstat_get_file_encoding(__pyx_v_metadata);
        |                          ^
  pyreadstat/_readstat_parser.c:9055:17: warning: assignment discards ‘const’ qualifier from pointer target type [-Wdiscarded-qualifiers]
   9055 |   __pyx_v_table = readstat_get_table_name(__pyx_v_metadata);
        |                 ^
  pyreadstat/_readstat_parser.c: In function ‘__pyx_f_10pyreadstat_16_readstat_parser_handle_variable’:
  pyreadstat/_readstat_parser.c:9250:20: warning: assignment discards ‘const’ qualifier from pointer target type [-Wdiscarded-qualifiers]
   9250 |   __pyx_v_var_name = readstat_variable_get_name(__pyx_v_variable);
        |                    ^
  pyreadstat/_readstat_parser.c:9621:21: warning: assignment discards ‘const’ qualifier from pointer target type [-Wdiscarded-qualifiers]
   9621 |   __pyx_v_var_label = readstat_variable_get_label(__pyx_v_variable);
        |                     ^
  pyreadstat/_readstat_parser.c:9691:22: warning: assignment discards ‘const’ qualifier from pointer target type [-Wdiscarded-qualifiers]
   9691 |   __pyx_v_var_format = readstat_variable_get_format(__pyx_v_variable);
        |                      ^
  pyreadstat/_readstat_parser.c: In function ‘__pyx_f_10pyreadstat_16_readstat_parser_handle_value_label’:
  pyreadstat/_readstat_parser.c:12029:27: warning: assignment discards ‘const’ qualifier from pointer target type [-Wdiscarded-qualifiers]
  12029 |       __pyx_v_c_str_value = readstat_string_value(__pyx_v_value);
        |                           ^
  pyreadstat/_readstat_parser.c: In function ‘__pyx_f_10pyreadstat_16_readstat_parser_check_exit_status’:
  pyreadstat/_readstat_parser.c:13268:26: warning: assignment discards ‘const’ qualifier from pointer target type [-Wdiscarded-qualifiers]
  13268 |     __pyx_v_err_readstat = readstat_error_message(__pyx_v_retcode);
        |                          ^
  pyreadstat/_readstat_parser.c: In function ‘__pyx_f_10pyreadstat_16_readstat_parser_run_readstat_parser’:
  pyreadstat/_readstat_parser.c:13941:5: warning: ‘__pyx_v_error’ may be used uninitialized [-Wmaybe-uninitialized]
  13941 |     __pyx_f_10pyreadstat_16_readstat_parser_check_exit_status(__pyx_v_error); if (unlikely(PyErr_Occurred())) __PYX_ERR(0, 1009, __pyx_L1_error)
        |     ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
  pyreadstat/_readstat_parser.c:13359:20: note: ‘__pyx_v_error’ was declared here
  13359 |   readstat_error_t __pyx_v_error;
        |                    ^~~~~~~~~~~~~
--
  pyreadstat/_readstat_writer.c: In function ‘__pyx_f_10pyreadstat_16_readstat_writer__check_exit_status’:
  pyreadstat/_readstat_writer.c:11028:26: warning: assignment discards ‘const’ qualifier from pointer target type [-Wdiscarded-qualifiers]
  11028 |     __pyx_v_err_readstat = readstat_error_message(__pyx_v_retcode);
        |                          ^
  pyreadstat/_readstat_writer.c: At top level:
  pyreadstat/_readstat_writer.c:10997:13: warning: ‘__pyx_f_10pyreadstat_16_readstat_writer__check_exit_status’ defined but not used [-Wunused-function]
  10997 | static void __pyx_f_10pyreadstat_16_readstat_writer__check_exit_status(readstat_error_t __pyx_v_retcode) {
        |             ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
  pyreadstat/_readstat_writer.c: In function ‘__pyx_f_10pyreadstat_16_readstat_writer_convert_datetimelike_to_number’:
  pyreadstat/_readstat_writer.c:5016:20: warning: ‘__pyx_v_tstamp’ may be used uninitialized [-Wmaybe-uninitialized]
   5016 |     __pyx_v_tstamp = (__pyx_v_tstamp + __pyx_v_offset_secs);
        |     ~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
  pyreadstat/_readstat_writer.c:4850:10: note: ‘__pyx_v_tstamp’ was declared here
   4850 |   double __pyx_v_tstamp;
        |          ^~~~~~~~~~~~~~

@ofajardo ofajardo merged commit 5c5b8ac into Roche:dev Jun 9, 2026
3 checks passed
@hpoettker hpoettker deleted the compilation-warnings branch June 9, 2026 18:31
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

Successfully merging this pull request may close these issues.

2 participants