build: Allow non-strict aliasing and overflow optimizations #1752
Add this suggestion to a batch that can be applied as a single commit.
This suggestion is invalid because no changes were made to the code.
Suggestions cannot be applied while the pull request is closed.
Suggestions cannot be applied while viewing a subset of changes.
Only one suggestion per line can be applied in a batch.
Add this suggestion to a batch that can be applied as a single commit.
Applying suggestions on deleted lines is not supported.
You must change the existing code in this line in order to create a valid suggestion.
Outdated suggestions cannot be applied.
This suggestion has been applied or marked resolved.
Suggestions cannot be applied from pending reviews.
Suggestions cannot be applied on multi-line comments.
Suggestions cannot be applied while the pull request is queued to merge.
Suggestion cannot be applied right now. Please check back later.
Non-strict aliasing is found to resolve #1737.
We also use signed integer overflow around ares, so we want to allow the compiler to optimize for that if it wants to; essentially everywhere ares runs is two's complement.
Couple quirks: Xcode has its own declaration for strict aliasing, so use that. Clang-CL doesn't transparently accept
-fwrapv
, so it's passed with/clang:-fwrapv
._ares_gcc_common_options
will eventually see more development to make warnings consistent across platforms where possible.(Fixes #1737)