-
Notifications
You must be signed in to change notification settings - Fork 77
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
Replace bool fullscreen parameter with bitset enum #1612
base: master
Are you sure you want to change the base?
Replace bool fullscreen parameter with bitset enum #1612
Conversation
ea9ba5f
to
9c88c90
Compare
9c88c90
to
06b9b65
Compare
06b9b65
to
04168d0
Compare
@Flow86 This requires raising the minimum Boost version to 1.71, see Return-To-The-Roots/libutil#28 (comment) |
@Flamefire How would you feel about adding |
hmm, we could try to raise the c++ version to 17 instead? |
That would be great. I miss C++17 features all the time. Flamefire mentioned the Apple Crosscompiler can't do C++17. (First search result is https://github.com/tpoechtrager/osxcross. Is that it? Seems to handle even C++20 just fine. So you may just need to update?) |
the old version of the compiler didnt do it, but I updated the toolchain months ago already, so it should be fine afaik Feel free to try it out raising the default c++ version to 17 |
I think this will make a couple MSVC versions unavailable and not sure how high the gain is: The C++14 MinGW compiler doesn't even support C++11-threads on Windows last time I tried. |
When you're talking about MinGW, are you referring to these Docker images in AppVeyor and GHA are currently in progress. If that passes I can submit a PR to try out Jenkins as well. |
Well, as could have been predicted, It may simply not be worth it to keep |
Yes
Agreed. The root clang-tidy on purpose enables everything and selectively disables things to get the new good things automatically. So this wasn't enabled on purpose. BTW: You'd need to enable C++17 especially in the submodules as you are using the C++17 feature. For testing this you can (temporarly!) pass |
It would still be nice to get reminders in my IDE. Supposedly I can use a user configuration for clangd with some
That's certainly a simpler solution for testing. Thanks.
Of course.
I'm aware. After all, this is why |
anything which is older than MSVC 2019 shouldn't be used anyway, especially since you get an up to date community edition for private use for free
this won't do anything, since its using the "secure" one from master branch only We're using the mingw package from debian bullseye btw. Afaik Mingw does not support native "c++11" threads yet, and won't be soon, but we're using the posix variant instead |
I've modified AppVeyor and GHA CI to force C++17 and have verified from the verbose output that If everything goes well, I would submit PRs to change the following lines to
@Flow86 Is that alright with you? Would you like to perform a MinGW build with Edit:
Edit 2:
Many occurrences are in headers and counted multiple times, so this seems quite manageable. Commands for future referencefind libs/ -type f -exec sed -i -e 's/^namespace \(.*\) { namespace /namespace \1::/' -e 's%^}} // namespace%} // namespace%' '{}' \+ |
I've built it locally with |
Well, is there any reason to not jump to cxx_std_20 directly then? I didn't know that the Debian package version didn't match the GCC version (although it makes more sense now, given that a GCC 8.0.0 release doesn't even exist). This doesn't mean we need to embrace C++20 features yet, especially since older GCC and Clang version lack support for many features, but the option is on the table, once older GCCs and Clangs drop off and we don't need to go through that dance of updating the submodules twice. |
we still want to support some older gccs (gcc-9?) so 17 should be fine, 20 not (yet) Even though that perhaps ranges or so would be in good use, but lets go to 17 first to see if we get any trouble somewhere |
I did bump it up to 20 out of curiosity and at least Boost 1.69 has some issues. Maybe in a year or two. |
Turns out that a
A plain
The information loss that prompted me to pursue |
I've reduced #1602 to just the change from
bool fullscreen
toenum class DisplayMode
(or whatever we decide to call it in the end).This depends on Return-To-The-Roots/libutil#28 and I've temporarily substituted my fork of libutil for development and CI.