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

MAINT: f2py: don't generate code that triggers -Wsometimes-uninitialized. #20982

Merged
merged 1 commit into from Feb 3, 2022

Conversation

charris
Copy link
Member

@charris charris commented Feb 2, 2022

Backport of #20940.

  • MAINT: f2py: don't generate code that triggers -Wsometimes-uninitialized

Warnings look like:

scipy/linalg/_flapackmodule.c:2200:9: warning: variable 'return_value' is used uninitialized whenever 'if' condition is false [-Wsometimes-uninitialized]
    if (capi_j>capi_i)
        ^~~~~~~~~~~~~
scipy/linalg/_flapackmodule.c:2217:12: note: uninitialized use occurs here
    return return_value;
           ^~~~~~~~~~~~
scipy/linalg/_flapackmodule.c:2200:5: note: remove the 'if' if its condition is always true
    if (capi_j>capi_i)
    ^~~~~~~~~~~~~~~~~~
scipy/linalg/_flapackmodule.c:2099:21: note: initialize the variable 'return_value' to silence this warning
    int return_value;
                    ^
                     = 0

Also:

  • Initialize complex return value.
  • Warn on non-void callback returning None.
  • Use brackets in if-else block.

This makes the code more readable.

Co-authored-by: Pearu Peterson pearu.peterson@gmail.com

…ized` (numpy#20940)

* MAINT: f2py: don't  generate code that triggers `-Wsometimes-uninitialized`

Warnings look like:

```
scipy/linalg/_flapackmodule.c:2200:9: warning: variable 'return_value' is used uninitialized whenever 'if' condition is false [-Wsometimes-uninitialized]
    if (capi_j>capi_i)
        ^~~~~~~~~~~~~
scipy/linalg/_flapackmodule.c:2217:12: note: uninitialized use occurs here
    return return_value;
           ^~~~~~~~~~~~
scipy/linalg/_flapackmodule.c:2200:5: note: remove the 'if' if its condition is always true
    if (capi_j>capi_i)
    ^~~~~~~~~~~~~~~~~~
scipy/linalg/_flapackmodule.c:2099:21: note: initialize the variable 'return_value' to silence this warning
    int return_value;
                    ^
                     = 0
```

Also:

- Initialize complex return value.
- Warn on non-void callback returning None.
- Use brackets in if-else block.

This makes the code more readable.

Co-authored-by: Pearu Peterson <pearu.peterson@gmail.com>
@charris charris added this to the 1.22.2 release milestone Feb 2, 2022
@charris charris added 08 - Backport Used to tag backport PRs and removed 08 - Backport Used to tag backport PRs labels Feb 2, 2022
@charris charris merged commit a6b059b into numpy:maintenance/1.22.x Feb 3, 2022
@charris charris deleted the backport-20940 branch April 10, 2022 19:52
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Projects
None yet
Development

Successfully merging this pull request may close these issues.

None yet

2 participants