Enable testing on newer GCC releases and clean up warnings on them #107
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.
In my earlier PR for enabling build testing automation, I stopped at GCC 9.x because newer releases were triggering warnings and would therefore fail the build since
-Werror
was in effect. This PR adds in those versions and fixes all warnings up through GCC 14.x.The main issue is the call to
strncpy()
in theSTRNCPY_TERMINATED
macro triggers GCC's concerns over a possible non-terminated string even though a quick analysis will show that it is indeed terminated. This warning is present up through at least GCC 14.x. I initially tried to replace the macro with a call tostrlcpy()
which is a safe version ofstrncpy()
, but that is too new for many systems so I have the warning silenced inside the macro on newer GCC versions. There are no more warnings on any version of GCC tested now.strlcpy()
when presentstrlcpy()
is not availablestrncpy()