-
-
Notifications
You must be signed in to change notification settings - Fork 850
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
Fix compiling due to typedefs varying across platforms #1729
Conversation
Two things:
|
The typedef is taken from EDIT: Even the docs have a mistmatching order with my system 2.40 glibc???? https://www.gnu.org/software/libc/manual/html_node/Signal-Stack.html |
That's fun... does this simple declaration need to have a platform dependent ifdef then, or is there a more reasonable way to solve this?
I was under the impression that this here runs the same thing as my system - I suppose gcc - just an old version of it? shadPS4/.github/workflows/build.yml Lines 373 to 374 in e5e1aba
|
Would probably change it to not use designated initializers to avoid platform ifdef |
https://github.com/shadps4-emu/shadPS4/blob/main/.github/workflows/build.yml#L370-L371 We configure the build to use clang here. |
I am beyond confused as to how my system version mismatches the upstream git version last touched in 2016 AND documentation also agrees with this git version and not what's installed on my system... Even the commit that Arch supposedly installs has flags last. Looks like I will be taking this to my distribution first. EDIT: Nope, glibc bs. EDIT2: And this VARIES between different Linux platforms on top of that - https://sourceware.org/git/?p=glibc.git;a=commitdiff;h=0bcec5321f7d31c31e4fd601d4e0922862d87b14#patch2 |
That works, builds, passes CI and it's not a designated initializer, but not tagged constant either anymore. Is this fine as is? |
This looks fine to me yes. |
) * Fix compiling on modern C++ compilers shadps4-emu@cd9fc5d broke it * Fix order * Test * Test putting flags in old order * Remove designated initializer
) * Fix compiling on modern C++ compilers shadps4-emu@cd9fc5d broke it * Fix order * Test * Test putting flags in old order * Remove designated initializer
Fix the var ordering.
#1724 breaks it and CI does not catch it, as it is using clang
a compiler old enough to be complacent.Note that I do not usually do C++ so the fix may be wrong, even though it works for me.
Fixes
error: designator order for field ‘stack_t::ss_flags’ does not match declaration order in ‘const stack_t’
Do squash the extra commit when merging please