Skip to content
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

Add C++23 to CppStdRevision enum #21043

Merged
merged 1 commit into from
Mar 21, 2025
Merged

Conversation

ibuclaw
Copy link
Member

@ibuclaw ibuclaw commented Mar 20, 2025

It's past time to add this option, and set CppStdRevision to the specified value for C++23

https://www.iso.org/standard/83626.html

https://eel.is/c++draft/cpp.predefined#1.1.

@ibuclaw ibuclaw added Compiler:GDC Gnu D Compiler Feature:extern (C/C++/Obj-C) interfacing to C, C++, Objective-C code labels Mar 20, 2025
@dlang-bot
Copy link
Contributor

Thanks for your pull request, @ibuclaw!

Bugzilla references

Your PR doesn't reference any Bugzilla issue.

If your PR contains non-trivial changes, please reference a Bugzilla issue or create a manual changelog.

Testing this PR locally

If you don't have a local development environment setup, you can use Digger to test this PR:

dub run digger -- build "stable + dmd#21043"

Copy link
Contributor

@TurkeyMan TurkeyMan left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

LGTM

Copy link
Contributor

@thewilsonator thewilsonator left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Don't forget to update the spec page on the trait

@thewilsonator thewilsonator merged commit 94950ca into dlang:stable Mar 21, 2025
74 checks passed
@ibuclaw ibuclaw deleted the add_cxx23 branch March 21, 2025 06:27
dkorpel added a commit that referenced this pull request Mar 21, 2025
* bump VERSION to v2.110.0

* purge changelog

* bump VERSION to v2.111.0-beta.1

* Accept __rvalue attribute on ref functions; which will force the result to be treated as __rvalue. (#20946)

This is essential to implement `move`, `forward`, etc.

* memoryerror.d: Fix AnySupported version condition (#20983)

* Fix #20982 - wrong line number in iasmgcc (#20993)

* Move genCfunc to cxxfrontend (#20992)

* druntime: Fix compilation of rt.cover on Android (#21015)

* Expose SourceLoc to C++ interface (#20980)

* [stable] C++ header fixes for declaration, expression, and typinf (#21016)

Seen either from compilation errors or missing symbols at link time.

* C++ headers: Add 3 Declaration bitfield setters/getters required by LDC

* druntime: Add module declaration to rt.invariant, to prevent conflicts with user-provided invariant.d (#21017)

* Fix #21020 - Indexing a *cast* AA yields no lvalue anymore (#21029)

* Add C++23 to CppStdRevision enum (#21043)

* Improve UFCS/property error message (#21046)

---------

Co-authored-by: Manu Evans <turkeyman@gmail.com>
Co-authored-by: Martin Kinkelin <kinke@users.noreply.github.com>
Co-authored-by: Iain Buclaw <ibuclaw@gdcproject.org>
Co-authored-by: Martin Kinkelin <noone@nowhere.com>
hubot pushed a commit to gcc-mirror/gcc that referenced this pull request Mar 22, 2025
D front-end changes:

	- The compiler now accepts `-fextern-std=c++23'

gcc/d/ChangeLog:

	* dmd/MERGE: Merge upstream dmd 94950cae58.
	* d-lang.cc (d_handle_option): Add case for CppStdRevisionCpp23.
	* gdc.texi: Document -fextern-std=c++23.
	* lang.opt (fextern-std=): Add c++23.

libphobos/ChangeLog:

	* libdruntime/MERGE: Merge upstream druntime 94950cae58.

Reviewed-on: dlang/dmd#21043
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
Compiler:GDC Gnu D Compiler Feature:extern (C/C++/Obj-C) interfacing to C, C++, Objective-C code
Projects
None yet
Development

Successfully merging this pull request may close these issues.

4 participants