-
Notifications
You must be signed in to change notification settings - Fork 20
WIP: Fix all warnings #1530
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
Draft
Rainyan
wants to merge
97
commits into
NeotokyoRebuild:master
Choose a base branch
from
Rainyan:refactor
base: master
Could not load branches
Branch not found: {{ refName }}
Loading
Could not load tags
Nothing to show
Loading
Are you sure you want to change the base?
Some commits from the old base branch may be removed from the timeline,
and old review comments may become outdated.
Draft
WIP: Fix all warnings #1530
Conversation
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
f27beda to
a3a3bec
Compare
c7ae089 to
bb7623b
Compare
e50b2ac to
d76eb6d
Compare
The memory is technically properly allocated in the reentrant pReturn->ConvertToCopiedData() call in the vscript binding macros, but as the reference goes out of scope it could technically blow up. This change makes g++-14 (SteamRT 14.2.0-19~steamrt3.1+bsrt3.1) 14.2.0 happy for the release build with -Wall
g++-14 (SteamRT 14.2.0-19~steamrt3.1+bsrt3.1) 14.2.0
``` error: ignoring return value of ‘char* getcwd(char*, size_t)’ declared with attribute ‘warn_unused_result’ [-Werror=unused-result] 281 | _getcwd( szCwd, sizeof( szCwd ) ); ```
Soft-pin the image name to Windows Server 2025 to avoid breakage if/when the latest tag starts pointing to a newer image.
sizeof(unsigned long) is not guaranteed to equal sizeof(int); while this technically doesn't matter since the punned value is truncated to sizeof the destination, this would break the sizeof equality assert in our pun(...) helper func for such a case.
55f62a3 to
924756b
Compare
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
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.
Description
Toolchain
The following compilers are documented as "supported" in
CONTRIBUTING.mdby this PR, and they've been confirmed to not emit any warnings in release nor debug presets:windows-2025CI runner image (Microsoft.VisualStudio.Component.VC.Tools.x86.x64)Linux Clang 11 steamrt3 'sniper'wontfix: compile issues with c++20 stdlib includesI decided to drop support for the problematic Clang compiler in the steamrt3 container, because it's over 5 years old and unlikely to get patches or backports anymore. If you want to use Clang, see the steamrt4 option for it, instead.
Of the list above, the compilers currently used by the GitHub CI builds are:
windows-2025runner image version of MSVC for WindowsWhile we don't use steamrt4 yet, support for it was included to make the migration smoother in the future, either to GCC 14 or Clang 19.
The Windows runner image is not currently pinnable, so sporadic breakage is possible. The Linux steamrt container could be pinned; we're currently using
sniper/sdk:latestbut as it seems rather stable, pinning is probably not necessary for now. Some safeguards have been implemented by this PR as documented, such as disabling warnings-as-errors for tagged release builds, to minimize breakage from unexpected build environment changes.Additionally, the following compilers were verified to not emit any warnings, although not going to "officially" maintain support for them:
Linked Issues