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

Enable conversion warnings #809

Merged
merged 29 commits into from
Dec 16, 2020
Merged

Enable conversion warnings #809

merged 29 commits into from
Dec 16, 2020

Conversation

joaander
Copy link
Member

@joaander joaander commented Oct 16, 2020

Description

Enable the compiler option -Wconversion which is not part of -Wall.

Motivation and context

Conversion warnings notify developers when narrowing conversions may result in the loss of data. These will be important to have when we start implementing mixed precision (#355) and combinations of 16, 32, and 64 bit seeds for the RNG (#229). Just in preparing this PR to build warning free I found several bugs in memory allocators, GSD output and other places.

Unfortunately, this PR will touch many files because intended narrowing casts must be explicitly made by the developer.

This option is not part of -Wall so many headers and embedded libraries do not compile warning free with this option. I selectively set -Wno-conversion on those files so we don't need to change them.

How has this been tested?

I'm testing locally with gcc10 and clang11.

Change log

Fixed:

- Enable memory buffers larger than 2-4 GiB.
- Correctly write large image flags to GSD files.
- Support more than 26 default type names.
- Correctly represent fractional degrees of freedom.
- Compute the minimum image in double precision.

Checklist:

@joaander joaander added this to the v3.0.0-beta.2 milestone Oct 16, 2020
@joaander joaander modified the milestones: v3.0.0-beta.2, v3.0.0-beta.3 Nov 9, 2020
@joaander joaander merged commit 5f0f657 into master Dec 16, 2020
@joaander joaander deleted the enable-conversion-warnings branch December 16, 2020 13:32
@joaander joaander mentioned this pull request Dec 16, 2020
3 tasks
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.

1 participant