]> git.ipfire.org Git - thirdparty/gcc.git/commit
c++: Implement __is_scoped_enum built-in trait
authorKen Matsui <kmatsui@gcc.gnu.org>
Thu, 7 Dec 2023 05:33:03 +0000 (21:33 -0800)
committerJason Merrill <jason@redhat.com>
Sun, 10 Dec 2023 18:11:22 +0000 (13:11 -0500)
commit8769777bf74a844b05521bf51bed4db4c9ca66d4
tree5a9367a9ec29b9187ca31437f7ed8bcf7716ad55
parentea0a0e6bf1470e48cc5f337bc1be40c40ac8e5ed
c++: Implement __is_scoped_enum built-in trait

This patch implements built-in trait for std::is_scoped_enum.

gcc/cp/ChangeLog:

* cp-trait.def: Define __is_scoped_enum.
* constraint.cc (diagnose_trait_expr): Handle CPTK_IS_SCOPED_ENUM.
* semantics.cc (trait_expr_value): Likewise.
(finish_trait_expr): Likewise.

gcc/testsuite/ChangeLog:

* g++.dg/ext/has-builtin-1.C: Test existence of __is_scoped_enum.
* g++.dg/ext/is_scoped_enum.C: New test.

Signed-off-by: Ken Matsui <kmatsui@gcc.gnu.org>
gcc/cp/constraint.cc
gcc/cp/cp-trait.def
gcc/cp/semantics.cc
gcc/testsuite/g++.dg/ext/has-builtin-1.C
gcc/testsuite/g++.dg/ext/is_scoped_enum.C [new file with mode: 0644]