]> git.ipfire.org Git - thirdparty/gcc.git/commit
c++: Implement __add_pointer built-in trait
authorKen Matsui <kmatsui@gcc.gnu.org>
Wed, 14 Feb 2024 11:40:00 +0000 (03:40 -0800)
committerKen Matsui <kmatsui@gcc.gnu.org>
Sat, 11 May 2024 01:16:36 +0000 (18:16 -0700)
commit2763f81e0b93700bc879690ce2a7d258c3989924
tree0a6747cc1efbf74faf016b5da339848a88cabaf1
parent06d64eb96cd9faf7e725bd4fbe5b859d23c5ecb5
c++: Implement __add_pointer built-in trait

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

gcc/cp/ChangeLog:

* cp-trait.def: Define __add_pointer.
* semantics.cc (finish_trait_type): Handle CPTK_ADD_POINTER.
(object_type_p): New function.
(referenceable_type_p): Likewise.
(trait_expr_value): Use object_type_p.

gcc/testsuite/ChangeLog:

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

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