It adds C++23, C++2b, gnu++23 and gnu++2b to cppdialect.
How does this PR change Premake's behavior?
It adds the new values for cppdialect and changes the behavior of C++Latest to C++23 on several platforms. I used 4a627cc7642fb379790cc2ac2de9e51d8044d3e8 (which added C++20) as a model for what to do.
Some notes though:
I did not change DMD and LDC because I'm not sure they support C++23 at all yet.
I did not change the behavior for vs2015. It has a separate code path from vs2017+ and I don't know if it supports C++23. My thinking was that it's old enough that C++23 support is probably not a concern.
I did not add the Draft versions (C++2b/gnu++2b) for Visual Studio because the other Drafts weren't in the list. But maybe they should be? (And remap to the regular C++20 instead of being ignored.)
Anything else we should know?
Closes #2273
Did you check all the boxes?
[x] Focus on a single fix or feature; remove any unrelated formatting or code changes
[x] Add unit tests showing fix or feature works; all tests pass
[x] Mention any related issues (put closes #XXXX in comment to auto-close issue when PR is merged)
What does this PR do?
It adds C++23, C++2b, gnu++23 and gnu++2b to
cppdialect
.How does this PR change Premake's behavior?
It adds the new values for cppdialect and changes the behavior of C++Latest to C++23 on several platforms. I used 4a627cc7642fb379790cc2ac2de9e51d8044d3e8 (which added C++20) as a model for what to do.
Some notes though:
Anything else we should know?
Closes #2273
Did you check all the boxes?
closes #XXXX
in comment to auto-close issue when PR is merged)You can now support Premake on our OpenCollective. Your contributions help us spend more time responding to requests like these!