Re: Backporting [was Re: [PATCH v2 1/2] libstdc++: Fix error handling in filesystem::equivalent [PR113250]]

2024-01-11 Thread Ken Matsui
On Thu, Jan 11, 2024 at 3:45 AM Ken Matsui wrote: > > On Thu, 11 Jan 2024 at 11:14, Jonathan Wakely wrote: > > On Thu, 11 Jan 2024 at 10:56, Ken Matsui wrote: > > > > > > On Thu, 11 Jan 2024 at 10:46, Jonathan Wakely wrote: > > > > On Th

Re: Re: [PATCH v2 2/2] libstdc++: Use using instead of typedef in opts-common.h

2024-01-11 Thread Ken Matsui
On Thu, Jan 11, 2024 at 4:02 AM Jonathan Wakely wrote: > > On Thu, 11 Jan 2024 at 10:50, Jonathan Wakely wrote: > > > > On Thu, 11 Jan 2024 at 10:12, Ken Matsui wrote: > > > > > > On Thu, 11 Jan 2024 at 09:55, Jonathan Wakely > > > wrote: > >

Re: Re: Re: [PATCH v2 2/2] libstdc++: Use using instead of typedef in opts-common.h

2024-01-11 Thread Ken Matsui
On Thu, Jan 11, 2024 at 4:01 AM Jonathan Wakely wrote: > > On Thu, 11 Jan 2024 at 11:28, Ken Matsui wrote: > > > > On Thu, 11 Jan 2024 at 10:50, Jonathan Wakely wrote: > > > On Thu, 11 Jan 2024 at 10:12, Ken Matsui > > > wrote: > > > > >

Re: Backporting [was Re: [PATCH v2 1/2] libstdc++: Fix error handling in filesystem::equivalent [PR113250]]

2024-01-11 Thread Ken Matsui
On Thu, 11 Jan 2024 at 11:14, Jonathan Wakely wrote: > On Thu, 11 Jan 2024 at 10:56, Ken Matsui wrote: > > > > On Thu, 11 Jan 2024 at 10:46, Jonathan Wakely wrote: > > > On Thu, 11 Jan 2024 at 09:43, Ken Matsui wrote: > > > > > > > > This patch

Re: Re: Re: [PATCH v2 2/2] libstdc++: Use using instead of typedef in opts-common.h

2024-01-11 Thread Ken Matsui
On Thu, 11 Jan 2024 at 10:50, Jonathan Wakely wrote: > On Thu, 11 Jan 2024 at 10:12, Ken Matsui wrote: > > > > On Thu, 11 Jan 2024 at 09:55, Jonathan Wakely wrote: > > >On Thu, 11 Jan 2024, 09:43 Ken Matsui, <[1]kmat...@gcc.gnu.org> wrote: > >

Re: Re: [PATCH v2 1/2] libstdc++: Fix error handling in filesystem::equivalent [PR113250]

2024-01-11 Thread Ken Matsui
On Thu, 11 Jan 2024 at 10:46, Jonathan Wakely wrote: > On Thu, 11 Jan 2024 at 09:43, Ken Matsui wrote: > > > > This patch made std::filesystem::equivalent correctly throw an exception > > when either path does not exist as per [fs.op.equivalent]/4. > > Thanks,

[PATCH v3 2/2] libstdc++: Use using instead of typedef in opts-common.h

2024-01-11 Thread Ken Matsui
libstdc++-v3/ChangeLog: * src/filesystem/ops-common.h (stat_type): Use using. Signed-off-by: Ken Matsui --- libstdc++-v3/src/filesystem/ops-common.h | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/libstdc++-v3/src/filesystem/ops-common.h b/libstdc++-v3/src

Re: Re: [PATCH v2 2/2] libstdc++: Use using instead of typedef in opts-common.h

2024-01-11 Thread Ken Matsui
On Thu, 11 Jan 2024 at 09:55, Jonathan Wakely wrote: >On Thu, 11 Jan 2024, 09:43 Ken Matsui, <[1]kmat...@gcc.gnu.org> wrote: > > > >>

[PATCH v2 2/2] libstdc++: Use using instead of typedef in opts-common.h

2024-01-11 Thread Ken Matsui
libstdc++-v3/ChangeLog: * src/filesystem/ops-common.h (stat_type): Use using. Signed-off-by: Ken Matsui --- libstdc++-v3/src/filesystem/ops-common.h | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/libstdc++-v3/src/filesystem/ops-common.h b/libstdc++-v3/src

[PATCH v2 1/2] libstdc++: Fix error handling in filesystem::equivalent [PR113250]

2024-01-11 Thread Ken Matsui
Likewise. * testsuite/27_io/filesystem/operations/equivalent.cc: Handle error codes. * testsuite/experimental/filesystem/operations/equivalent.cc: Likewise. Signed-off-by: Ken Matsui --- libstdc++-v3/src/c++17/fs_ops.cc | 2 +- libstdc+

[PATCH] libstdc++: Fix error handling for std::filesystem::equivalent [PR113250]

2024-01-10 Thread Ken Matsui
: Handle error codes. Signed-off-by: Ken Matsui --- libstdc++-v3/src/c++17/fs_ops.cc | 2 +- .../testsuite/27_io/filesystem/operations/equivalent.cc | 4 ++-- 2 files changed, 3 insertions(+), 3 deletions(-) diff --git a/libstdc++-v3/src/c++17/fs_ops.cc b

[committed] libstdc++: Optimize std::is_compound compilation performance

2024-01-10 Thread Ken Matsui
This patch optimizes the compilation performance of std::is_compound. libstdc++-v3/ChangeLog: * include/std/type_traits (is_compound): Do not use __not_. (is_compound_v): Use is_fundamental_v instead. Signed-off-by: Ken Matsui --- libstdc++-v3/include/std/type_traits | 4

Re: Re: [PATCH 08/14] libstdc++: Optimize std::is_compound compilation performance

2024-01-10 Thread Ken Matsui
On 01-10 (21:21), Jonathan Wakely wrote: > On Wed, 10 Jan 2024 at 19:41, Ken Matsui wrote: > > > > This patch optimizes the compilation performance of std::is_compound > > by dispatching to the new __is_arithmetic built-in trait. > > OK for trunk (no need to wait for a

Re: [PATCH 13/14] c++: Implement __is_scalar built-in trait

2024-01-10 Thread Ken Matsui
On 01-10 (01:23), Ken Matsui wrote: > This patch implements built-in trait for std::is_scalar. > > gcc/cp/ChangeLog: > > * cp-trait.def: Define __is_scalar. > * constraint.cc (diagnose_trait_expr): Handle CPTK_IS_SCALAR. > * semantics.cc (trait_

[PATCH 00/14] Optimize integral-related type traits

2024-01-10 Thread Ken Matsui
::is_compound compilation performance. Here are the benchmark results: std::is_integral: https://github.com/ken-matsui/gcc-bench/blob/main/is_integral.md#wed-jan-10-112014-am-pst-2024 Time: -28.5606%, Peak Mem: -25.0022%, Total Mem: -22.4503% std::is_integral_v: https://github.com/ken-matsui/gcc

[PATCH 05/14] c++: Implement __is_arithmetic built-in trait

2024-01-10 Thread Ken Matsui
): Likewise. gcc/testsuite/ChangeLog: * g++.dg/ext/has-builtin-1.C: Test existence of __is_arithmetic. * g++.dg/ext/is_arithmetic.C: New test. Signed-off-by: Ken Matsui --- gcc/cp/constraint.cc | 3 +++ gcc/cp/cp-trait.def | 1 + gcc/cp

[PATCH 12/14] libstdc++: Optimize std::is_signed compilation performance

2024-01-10 Thread Ken Matsui
This patch optimizes the compilation performance of std::is_signed by dispatching to the new __is_signed built-in trait. libstdc++-v3/ChangeLog: * include/std/type_traits (is_signed): Use __is_signed built-in trait. (is_signed_v): Likewise. Signed-off-by: Ken Matsui

[PATCH 03/14] c++: Implement __is_floating_point built-in trait

2024-01-10 Thread Ken Matsui
. (finish_trait_expr): Likewise. (floating_point_type_p): New function. gcc/testsuite/ChangeLog: * g++.dg/ext/has-builtin-1.C: Test existence of __is_floating_point. * g++.dg/ext/is_floating_point.C: New test. Signed-off-by: Ken Matsui --- gcc/cp/constraint.cc

[PATCH 01/14] c++: Implement __is_integral built-in trait

2024-01-10 Thread Ken Matsui
. (integral_type_p): New function. gcc/testsuite/ChangeLog: * g++.dg/ext/has-builtin-1.C: Test existence of __is_integral. * g++.dg/ext/is_integral.C: New test. Signed-off-by: Ken Matsui --- gcc/cp/constraint.cc | 3 ++ gcc/cp/cp-trait.def

[PATCH 02/14] libstdc++: Optimize std::is_integral compilation performance

2024-01-10 Thread Ken Matsui
This patch optimizes the compilation performance of std::is_integral by dispatching to the new __is_integral built-in trait. libstdc++-v3/ChangeLog: * include/std/type_traits (is_integral): Use __is_integral built-in trait. (is_integral_v): Likewise. Signed-off-by: Ken

[PATCH 07/14] libstdc++: Optimize std::is_fundamental compilation performance

2024-01-10 Thread Ken Matsui
the original implementation. Signed-off-by: Ken Matsui --- libstdc++-v3/include/std/type_traits | 20 1 file changed, 16 insertions(+), 4 deletions(-) diff --git a/libstdc++-v3/include/std/type_traits b/libstdc++-v3/include/std/type_traits index 9baf3b2aa46

[PATCH 08/14] libstdc++: Optimize std::is_compound compilation performance

2024-01-10 Thread Ken Matsui
This patch optimizes the compilation performance of std::is_compound by dispatching to the new __is_arithmetic built-in trait. libstdc++-v3/ChangeLog: * include/std/type_traits (is_compound): Do not use __not_. (is_compound_v): Use is_fundamental_v instead. Signed-off-by: Ken

[PATCH 11/14] c++: Implement __is_signed built-in trait

2024-01-10 Thread Ken Matsui
/ChangeLog: * g++.dg/ext/has-builtin-1.C: Test existence of __is_signed. * g++.dg/ext/is_signed.C: New test. Signed-off-by: Ken Matsui --- gcc/cp/constraint.cc | 3 ++ gcc/cp/cp-trait.def | 1 + gcc/cp/semantics.cc

[PATCH 14/14] libstdc++: Optimize std::is_scalar compilation performance

2024-01-10 Thread Ken Matsui
This patch optimizes the compilation performance of std::is_scalar by dispatching to the new __is_scalar built-in trait. libstdc++-v3/ChangeLog: * include/std/type_traits (is_scalar): Use __is_scalar built-in trait. (is_scalar_v): Likewise. Signed-off-by: Ken Matsui

[PATCH 09/14] c++: Implement __is_unsigned built-in trait

2024-01-10 Thread Ken Matsui
/testsuite/ChangeLog: * g++.dg/ext/has-builtin-1.C: Test existence of __is_unsigned. * g++.dg/ext/is_unsigned.C: New test. Signed-off-by: Ken Matsui --- gcc/cp/constraint.cc | 3 ++ gcc/cp/cp-trait.def | 1 + gcc/cp/semantics.cc

[PATCH 13/14] c++: Implement __is_scalar built-in trait

2024-01-10 Thread Ken Matsui
/ChangeLog: * g++.dg/ext/has-builtin-1.C: Test existence of __is_scalar. * g++.dg/ext/is_scalar.C: New test. Signed-off-by: Ken Matsui --- gcc/cp/constraint.cc | 3 +++ gcc/cp/cp-trait.def | 1 + gcc/cp/semantics.cc

[PATCH 06/14] libstdc++: Optimize std::is_arithmetic compilation performance

2024-01-10 Thread Ken Matsui
-by: Ken Matsui --- libstdc++-v3/include/std/type_traits | 13 + 1 file changed, 13 insertions(+) diff --git a/libstdc++-v3/include/std/type_traits b/libstdc++-v3/include/std/type_traits index 23ea70eca18..9baf3b2aa46 100644 --- a/libstdc++-v3/include/std/type_traits +++ b/libstdc

[PATCH 04/14] libstdc++: Optimize std::is_floating_point compilation performance

2024-01-10 Thread Ken Matsui
): Likewise. Signed-off-by: Ken Matsui --- libstdc++-v3/include/std/type_traits | 13 + 1 file changed, 13 insertions(+) diff --git a/libstdc++-v3/include/std/type_traits b/libstdc++-v3/include/std/type_traits index afa281d9cc4..23ea70eca18 100644 --- a/libstdc++-v3/include/std

[PATCH 10/14] libstdc++: Optimize std::is_unsigned compilation performance

2024-01-10 Thread Ken Matsui
This patch optimizes the compilation performance of std::is_unsigned by dispatching to the new __is_unsigned built-in trait. libstdc++-v3/ChangeLog: * include/std/type_traits (is_unsigned): Use __is_unsigned built-in trait. (is_unsigned_v): Likewise. Signed-off-by: Ken

[PATCH v3 8/8] libstdc++: Optimize std::is_unbounded_array compilation performance

2024-01-05 Thread Ken Matsui
This patch optimizes the compilation performance of std::is_unbounded_array by dispatching to the new __is_unbounded_array built-in trait. libstdc++-v3/ChangeLog: * include/std/type_traits (is_unbounded_array_v): Use __is_unbounded_array built-in trait. Signed-off-by: Ken Matsui

[PATCH v3 1/8] c++: Implement __is_const built-in trait

2024-01-05 Thread Ken Matsui
/ChangeLog: * g++.dg/ext/has-builtin-1.C: Test existence of __is_const. * g++.dg/ext/is_const.C: New test. Signed-off-by: Ken Matsui --- gcc/cp/constraint.cc | 3 +++ gcc/cp/cp-trait.def | 1 + gcc/cp/semantics.cc | 4

[PATCH v3 6/8] libstdc++: Optimize std::is_pointer compilation performance

2024-01-05 Thread Ken Matsui
/type_traits (is_pointer): Likewise. (is_pointer_v): Likewise. Co-authored-by: Jonathan Wakely Signed-off-by: Ken Matsui --- libstdc++-v3/include/bits/cpp_type_traits.h | 31 ++- libstdc++-v3/include/std/type_traits| 44 + 2 files changed, 66

[PATCH v3 5/8] c++: Implement __is_pointer built-in trait

2024-01-05 Thread Ken Matsui
/testsuite/ChangeLog: * g++.dg/ext/has-builtin-1.C: Test existence of __is_pointer. * g++.dg/ext/is_pointer.C: New test. Signed-off-by: Ken Matsui --- gcc/cp/constraint.cc | 3 ++ gcc/cp/cp-trait.def | 1 + gcc/cp/semantics.cc

[PATCH v3 7/8] c++: Implement __is_unbounded_array built-in trait

2024-01-05 Thread Ken Matsui
. (finish_trait_expr): Likewise. gcc/testsuite/ChangeLog: * g++.dg/ext/has-builtin-1.C: Test existence of __is_unbounded_array. * g++.dg/ext/is_unbounded_array.C: New test. Signed-off-by: Ken Matsui --- gcc/cp/constraint.cc | 3 ++ gcc/cp/cp-trait.def

[PATCH v3 4/8] libstdc++: Optimize std::is_volatile compilation performance

2024-01-05 Thread Ken Matsui
This patch optimizes the compilation performance of std::is_volatile by dispatching to the new __is_volatile built-in trait. libstdc++-v3/ChangeLog: * include/std/type_traits (is_volatile): Use __is_volatile built-in trait. (is_volatile_v): Likewise. Signed-off-by: Ken

[PATCH v3 3/8] c++: Implement __is_volatile built-in trait

2024-01-05 Thread Ken Matsui
/testsuite/ChangeLog: * g++.dg/ext/has-builtin-1.C: Test existence of __is_volatile. * g++.dg/ext/is_volatile.C: New test. Signed-off-by: Ken Matsui --- gcc/cp/constraint.cc | 3 +++ gcc/cp/cp-trait.def | 1 + gcc/cp/semantics.cc

[PATCH v3 2/8] libstdc++: Optimize std::is_const compilation performance

2024-01-05 Thread Ken Matsui
This patch optimizes the compilation performance of std::is_const by dispatching to the new __is_const built-in trait. libstdc++-v3/ChangeLog: * include/std/type_traits (is_const): Use __is_const built-in trait. (is_const_v): Likewise. Signed-off-by: Ken Matsui

[PATCH v3 0/8] Optimize more type traits

2024-01-05 Thread Ken Matsui
benchmarks and the instability of the benchmark results. Here are new benchmark results: is_const: https://github.com/ken-matsui/gcc-bench/blob/main/is_const.md#sat-dec-23-090605-am-pst-2023 time: -4.36603%, peak memory: -0.300891%, total memory: -0.247934% is_volatile_v: https://github.com/ken-matsui

Re: [PATCH v2 6/8] libstdc++: Optimize std::is_pointer compilation performance

2024-01-05 Thread Ken Matsui
On Thu, Jan 4, 2024 at 2:13 PM Jonathan Wakely wrote: > > On Sat, 23 Dec 2023 at 22:07, Ken Matsui wrote: > > > > This patch optimizes the compilation performance of std::is_pointer > > by dispatching to the new __is_pointer built-in trait. > &

Re: [PATCH v2 6/8] libstdc++: Optimize std::is_pointer compilation performance

2024-01-05 Thread Ken Matsui
On Thu, Jan 4, 2024 at 2:16 PM Patrick Palka wrote: > > On Thu, 4 Jan 2024, Patrick Palka wrote: > > > On Sat, 23 Dec 2023, Ken Matsui wrote: > > > > > This patch optimizes the compilation performance of std::is_pointer > > > by dispatching

Re: [PATCH v2] libstdc++: Use _GLIBCXX_USE_BUILTIN_TRAIT

2024-01-04 Thread Ken Matsui
On Thu, Jan 4, 2024 at 2:11 PM Jonathan Wakely wrote: > > On Sat, 23 Dec 2023 at 23:06, Ken Matsui wrote: > > > > This patch uses _GLIBCXX_USE_BUILTIN_TRAIT macro instead of __has_builtin > > in the type_traits header for traits that have a corresponding fallback > &g

[PATCH v2] libstdc++: Use _GLIBCXX_USE_BUILTIN_TRAIT

2023-12-23 Thread Ken Matsui
_GLIBCXX_DO_NOT_USE_BUILTIN_TRAITS macro, without needing to modify the source code. libstdc++-v3/ChangeLog: * include/std/type_traits: Use _GLIBCXX_USE_BUILTIN_TRAIT. Signed-off-by: Ken Matsui Reviewed-by: Patrick Palka --- libstdc++-v3/include/std/type_traits | 10 +- 1 file changed, 5 insertions(+), 5

[PATCH v2 8/8] libstdc++: Optimize std::is_unbounded_array compilation performance

2023-12-23 Thread Ken Matsui
This patch optimizes the compilation performance of std::is_unbounded_array by dispatching to the new __is_unbounded_array built-in trait. libstdc++-v3/ChangeLog: * include/std/type_traits (is_unbounded_array_v): Use __is_unbounded_array built-in trait. Signed-off-by: Ken Matsui

[PATCH v2 7/8] c++: Implement __is_unbounded_array built-in trait

2023-12-23 Thread Ken Matsui
. (finish_trait_expr): Likewise. gcc/testsuite/ChangeLog: * g++.dg/ext/has-builtin-1.C: Test existence of __is_unbounded_array. * g++.dg/ext/is_unbounded_array.C: New test. Signed-off-by: Ken Matsui --- gcc/cp/constraint.cc | 3 ++ gcc/cp/cp-trait.def

[PATCH v2 5/8] c++: Implement __is_pointer built-in trait

2023-12-23 Thread Ken Matsui
/testsuite/ChangeLog: * g++.dg/ext/has-builtin-1.C: Test existence of __is_pointer. * g++.dg/ext/is_pointer.C: New test. Signed-off-by: Ken Matsui --- gcc/cp/constraint.cc | 3 ++ gcc/cp/cp-trait.def | 1 + gcc/cp/semantics.cc

[PATCH v2 6/8] libstdc++: Optimize std::is_pointer compilation performance

2023-12-23 Thread Ken Matsui
/type_traits (is_pointer): Likewise. (is_pointer_v): Likewise. Co-authored-by: Jonathan Wakely Signed-off-by: Ken Matsui --- libstdc++-v3/include/bits/cpp_type_traits.h | 29 ++ libstdc++-v3/include/std/type_traits| 44 + 2 files changed, 65

[PATCH v2 4/8] libstdc++: Optimize std::is_volatile compilation performance

2023-12-23 Thread Ken Matsui
This patch optimizes the compilation performance of std::is_volatile by dispatching to the new __is_volatile built-in trait. libstdc++-v3/ChangeLog: * include/std/type_traits (is_volatile): Use __is_volatile built-in trait. (is_volatile_v): Likewise. Signed-off-by: Ken

[PATCH v2 3/8] c++: Implement __is_volatile built-in trait

2023-12-23 Thread Ken Matsui
/testsuite/ChangeLog: * g++.dg/ext/has-builtin-1.C: Test existence of __is_volatile. * g++.dg/ext/is_volatile.C: New test. Signed-off-by: Ken Matsui --- gcc/cp/constraint.cc | 3 +++ gcc/cp/cp-trait.def | 1 + gcc/cp/semantics.cc

[PATCH v2 2/8] libstdc++: Optimize std::is_const compilation performance

2023-12-23 Thread Ken Matsui
This patch optimizes the compilation performance of std::is_const by dispatching to the new __is_const built-in trait. libstdc++-v3/ChangeLog: * include/std/type_traits (is_const): Use __is_const built-in trait. (is_const_v): Likewise. Signed-off-by: Ken Matsui

[PATCH v2 1/8] c++: Implement __is_const built-in trait

2023-12-23 Thread Ken Matsui
/ChangeLog: * g++.dg/ext/has-builtin-1.C: Test existence of __is_const. * g++.dg/ext/is_const.C: New test. Signed-off-by: Ken Matsui --- gcc/cp/constraint.cc | 3 +++ gcc/cp/cp-trait.def | 1 + gcc/cp/semantics.cc | 4

[PATCH v2 0/8] Optimize more type traits

2023-12-23 Thread Ken Matsui
eries does not cause any performance regression. The main reason of the performance regression were the exhaustiveness of the benchmarks and the instability of the benchmark results. Here are new benchmark results: is_const: https://github.com/ken-matsui/gcc-bench/blob/main/is_const.md#sat-dec-23

Re: [PATCH 1/8] c++: Implement __is_const built-in trait

2023-12-23 Thread Ken Matsui
On Sat, Dec 23, 2023 at 1:36 PM Ken Matsui wrote: > > This patch implements built-in trait for std::is_const. > > gcc/cp/ChangeLog: > > * cp-trait.def: Define __is_const. > * constraint.cc (diagnose_trait_expr): Handle CPTK_IS_CONST. > * semant

[PATCH 2/8] libstdc++: Optimize std::is_const compilation performance

2023-12-23 Thread Ken Matsui
This patch optimizes the compilation performance of std::is_const by dispatching to the new __is_const built-in trait. libstdc++-v3/ChangeLog: * include/std/type_traits (is_const): Use __is_const built-in trait. (is_const_v): Likewise. Signed-off-by: Ken Matsui

[PATCH 1/8] c++: Implement __is_const built-in trait

2023-12-23 Thread Ken Matsui
/ChangeLog: * g++.dg/ext/has-builtin-1.C: Test existence of __is_const. * g++.dg/ext/is_const.C: New test. Signed-off-by: Ken Matsui --- gcc/cp/constraint.cc | 3 +++ gcc/cp/cp-trait.def | 1 + gcc/cp/semantics.cc | 4

[PATCH 0/8] Optimize more type traits

2023-12-23 Thread Ken Matsui
eries does not cause any performance regression. The main reason of the performance regression were the exhaustiveness of the benchmarks and the instability of the benchmark results. Here are new benchmark results: is_const: https://github.com/ken-matsui/gcc-bench/blob/main/is_const.md#sat-dec-23

[committed] c++: testsuite: Remove testsuite_tr1.h includes

2023-12-22 Thread Ken Matsui
/is_scoped_enum.C: Likewise. Signed-off-by: Ken Matsui Reviewed-by: Patrick Palka Reviewed-by: Jason Merrill --- gcc/testsuite/g++.dg/ext/is_array.C | 15 --- gcc/testsuite/g++.dg/ext/is_bounded_array.C | 20 - gcc/testsuite/g++.dg/ext/is_function.C| 41

Re: [PATCH] testsuite: Remove testsuite_tr1.h

2023-12-22 Thread Ken Matsui
On Thu, Dec 21, 2023 at 11:38 AM Jason Merrill wrote: > > On 12/21/23 10:52, Patrick Palka wrote: > > On Thu, Dec 21, 2023 at 8:29 AM Patrick Palka wrote: > >> > >> On Wed, 20 Dec 2023, Ken Matsui wrote: > >> > >>> This patch removes th

[PATCH] testsuite: Remove testsuite_tr1.h

2023-12-20 Thread Ken Matsui
: Likewise. * g++.dg/ext/is_member_pointer.C: Likewise. * g++.dg/ext/is_object.C: Likewise. * g++.dg/ext/is_reference.C: Likewise. * g++.dg/ext/is_scoped_enum.C: Likewise. Signed-off-by: Ken Matsui --- gcc/testsuite/g++.dg/ext/is_array.C | 15 --- gcc

Re: [PATCH v26 00/23] Optimize type traits compilation performance

2023-12-20 Thread Ken Matsui
On Wed, Dec 20, 2023 at 7:56 AM Patrick Palka wrote: > > On Tue, 19 Dec 2023, Sandra Loosemore wrote: > > > On 12/6/23 22:11, Ken Matsui wrote: > > > This patch series optimizes type traits compilation performance by > > > implementing built-in type traits and usi

Re: [PATCH v26 00/23] Optimize type traits compilation performance

2023-12-16 Thread Ken Matsui
On Sat, Dec 16, 2023 at 8:40 AM Jonathan Wakely wrote: > > On Sun, 10 Dec 2023 at 18:19, Jason Merrill wrote: > > > > On 12/7/23 00:11, Ken Matsui wrote: > > > This patch series optimizes type traits compilation performance by > > > implementing built-in t

Re: [PATCH v26 00/23] Optimize type traits compilation performance

2023-12-10 Thread Ken Matsui
On Sun, Dec 10, 2023 at 10:19 AM Jason Merrill wrote: > > On 12/7/23 00:11, Ken Matsui wrote: > > This patch series optimizes type traits compilation performance by > > implementing built-in type traits and using them in libstdc++. > > > > Changes in v26: > >

[PATCH v26 23/23] libstdc++: Optimize std::remove_pointer compilation performance

2023-12-06 Thread Ken Matsui
This patch optimizes the compilation performance of std::remove_pointer by dispatching to the new remove_pointer built-in trait. libstdc++-v3/ChangeLog: * include/std/type_traits (remove_pointer): Use __remove_pointer built-in trait. Signed-off-by: Ken Matsui --- libstdc++-v3

[PATCH v26 21/23] libstdc++: Optimize std::is_object compilation performance

2023-12-06 Thread Ken Matsui
This patch optimizes the compilation performance of std::is_object by dispatching to the new __is_object built-in trait. libstdc++-v3/ChangeLog: * include/std/type_traits (is_object): Use __is_object built-in trait. (is_object_v): Likewise. Signed-off-by: Ken Matsui

[PATCH v26 22/23] c++: Implement __remove_pointer built-in trait

2023-12-06 Thread Ken Matsui
of __remove_pointer. * g++.dg/ext/remove_pointer.C: New test. Signed-off-by: Ken Matsui --- gcc/cp/cp-trait.def | 1 + gcc/cp/semantics.cc | 5 +++ gcc/testsuite/g++.dg/ext/has-builtin-1.C | 3 ++ gcc/testsuite/g++.dg/ext/remove_pointer.C | 51

[PATCH v26 19/23] libstdc++: Optimize std::is_function compilation performance

2023-12-06 Thread Ken Matsui
implementation. Move this under is_const_v as this depends on is_const_v. Signed-off-by: Ken Matsui --- libstdc++-v3/include/std/type_traits | 23 +-- 1 file changed, 21 insertions(+), 2 deletions(-) diff --git a/libstdc++-v3/include/std/type_traits b/libstdc++-v3/include

[PATCH v26 20/23] c++: Implement __is_object built-in trait

2023-12-06 Thread Ken Matsui
/ChangeLog: * g++.dg/ext/has-builtin-1.C: Test existence of __is_object. * g++.dg/ext/is_object.C: New test. Signed-off-by: Ken Matsui --- gcc/cp/constraint.cc | 3 +++ gcc/cp/cp-trait.def | 1 + gcc/cp/semantics.cc

[PATCH v26 18/23] c++: Implement __is_function built-in trait

2023-12-06 Thread Ken Matsui
/testsuite/ChangeLog: * g++.dg/ext/has-builtin-1.C: Test existence of __is_function. * g++.dg/ext/is_function.C: New test. Signed-off-by: Ken Matsui --- gcc/cp/constraint.cc | 3 ++ gcc/cp/cp-trait.def | 1 + gcc/cp/semantics.cc

[PATCH v26 17/23] libstdc++: Optimize std::is_reference compilation performance

2023-12-06 Thread Ken Matsui
-by: Ken Matsui --- libstdc++-v3/include/std/type_traits | 14 ++ 1 file changed, 14 insertions(+) diff --git a/libstdc++-v3/include/std/type_traits b/libstdc++-v3/include/std/type_traits index 1edd05acb4c..db880d87f60 100644 --- a/libstdc++-v3/include/std/type_traits +++ b/libstdc++-v3

[PATCH v26 16/23] c++: Implement __is_reference built-in trait

2023-12-06 Thread Ken Matsui
/testsuite/ChangeLog: * g++.dg/ext/has-builtin-1.C: Test existence of __is_reference. * g++.dg/ext/is_reference.C: New test. Signed-off-by: Ken Matsui --- gcc/cp/constraint.cc | 3 +++ gcc/cp/cp-trait.def | 1 + gcc/cp/semantics.cc

[PATCH v26 15/23] libstdc++: Optimize std::is_member_object_pointer compilation performance

2023-12-06 Thread Ken Matsui
. (is_member_object_pointer_v): Likewise. Signed-off-by: Ken Matsui --- libstdc++-v3/include/std/type_traits | 17 - 1 file changed, 16 insertions(+), 1 deletion(-) diff --git a/libstdc++-v3/include/std/type_traits b/libstdc++-v3/include/std/type_traits index 99ae825301c

[PATCH v26 14/23] c++: Implement __is_member_object_pointer built-in trait

2023-12-06 Thread Ken Matsui
. (finish_trait_expr): Likewise. gcc/testsuite/ChangeLog: * g++.dg/ext/has-builtin-1.C: Test existence of __is_member_object_pointer. * g++.dg/ext/is_member_object_pointer.C: New test. Signed-off-by: Ken Matsui --- gcc/cp/constraint.cc | 3

[PATCH v26 13/23] libstdc++: Optimize std::is_member_function_pointer compilation performance

2023-12-06 Thread Ken Matsui
-in trait. (is_member_function_pointer_v): Likewise. Signed-off-by: Ken Matsui --- libstdc++-v3/include/std/type_traits | 16 1 file changed, 16 insertions(+) diff --git a/libstdc++-v3/include/std/type_traits b/libstdc++-v3/include/std/type_traits index 4ab1d29ff51

[PATCH v26 12/23] c++: Implement __is_member_function_pointer built-in trait

2023-12-06 Thread Ken Matsui
): Likewise. (finish_trait_expr): Likewise. gcc/testsuite/ChangeLog: * g++.dg/ext/has-builtin-1.C: Test existence of __is_member_function_pointer. * g++.dg/ext/is_member_function_pointer.C: New test. Signed-off-by: Ken Matsui --- gcc/cp/constraint.cc

[PATCH v26 11/23] libstdc++: Optimize std::is_member_pointer compilation performance

2023-12-06 Thread Ken Matsui
): Likewise. Signed-off-by: Ken Matsui --- libstdc++-v3/include/std/type_traits | 16 +++- 1 file changed, 15 insertions(+), 1 deletion(-) diff --git a/libstdc++-v3/include/std/type_traits b/libstdc++-v3/include/std/type_traits index 4a5068791af..4ab1d29ff51 100644 --- a/libstdc++-v3

[PATCH v26 10/23] c++: Implement __is_member_pointer built-in trait

2023-12-06 Thread Ken Matsui
. (finish_trait_expr): Likewise. gcc/testsuite/ChangeLog: * g++.dg/ext/has-builtin-1.C: Test existence of __is_member_pointer. * g++.dg/ext/is_member_pointer.C: New test. Signed-off-by: Ken Matsui --- gcc/cp/constraint.cc | 3 ++ gcc/cp/cp-trait.def

[PATCH v26 09/23] libstdc++: Optimize std::is_scoped_enum compilation performance

2023-12-06 Thread Ken Matsui
. Signed-off-by: Ken Matsui --- libstdc++-v3/include/std/type_traits | 12 1 file changed, 12 insertions(+) diff --git a/libstdc++-v3/include/std/type_traits b/libstdc++-v3/include/std/type_traits index 2a1a0aa80ff..4a5068791af 100644 --- a/libstdc++-v3/include/std/type_traits +++ b

[PATCH v26 08/23] c++: Implement __is_scoped_enum built-in trait

2023-12-06 Thread Ken Matsui
. 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 --- gcc/cp/constraint.cc | 3 + gcc/cp/cp-trait.def | 1 + gcc/cp

[PATCH v26 07/23] libstdc++: Optimize std::is_bounded_array compilation performance

2023-12-06 Thread Ken Matsui
This patch optimizes the compilation performance of std::is_bounded_array by dispatching to the new __is_bounded_array built-in trait. libstdc++-v3/ChangeLog: * include/std/type_traits (is_bounded_array_v): Use __is_bounded_array built-in trait. Signed-off-by: Ken Matsui

[PATCH v26 06/23] c++: Implement __is_bounded_array built-in trait

2023-12-06 Thread Ken Matsui
. (finish_trait_expr): Likewise. gcc/testsuite/ChangeLog: * g++.dg/ext/has-builtin-1.C: Test existence of __is_bounded_array. * g++.dg/ext/is_bounded_array.C: New test. Signed-off-by: Ken Matsui --- gcc/cp/constraint.cc| 3 ++ gcc/cp/cp-trait.def

[PATCH v26 05/23] libstdc++: Optimize std::is_array compilation performance

2023-12-06 Thread Ken Matsui
This patch optimizes the compilation performance of std::is_array by dispatching to the new __is_array built-in trait. libstdc++-v3/ChangeLog: * include/std/type_traits (is_array): Use __is_array built-in trait. (is_array_v): Likewise. Signed-off-by: Ken Matsui

[PATCH v26 04/23] c++: Implement __is_array built-in trait

2023-12-06 Thread Ken Matsui
/ChangeLog: * g++.dg/ext/has-builtin-1.C: Test existence of __is_array. * g++.dg/ext/is_array.C: New test. Signed-off-by: Ken Matsui --- gcc/cp/constraint.cc | 3 +++ gcc/cp/cp-trait.def | 1 + gcc/cp/semantics.cc | 4

[PATCH v26 03/23] c++: Accept the use of built-in trait identifiers

2023-12-06 Thread Ken Matsui
ype. (cp_parser_simple_type_specifier): Likewise. (cp_parser_primary_expression): Call cp_lexer_peek_trait_expr. Signed-off-by: Ken Matsui --- gcc/cp/parser.cc | 53 +++- 1 file changed, 34 insertions(+), 19 deletions(-) diff --git a/gcc/cp/parser

[PATCH v26 02/23] c-family, c++: Look up built-in traits via identifier node

2023-12-06 Thread Ken Matsui
. (cp_parser_simple_type_specifier): Remove all RID value cases for built-in traits. Handle type-yielding built-in traits. Co-authored-by: Patrick Palka Signed-off-by: Ken Matsui --- gcc/c-family/c-common.cc | 7 --- gcc/c-family/c-common.h | 5 -- gcc/cp/cp-objcp-common.cc | 8

[PATCH v26 01/23] c++: Sort built-in traits alphabetically

2023-12-06 Thread Ken Matsui
. (finish_trait_expr): Likewise. (finish_trait_type): Likewise. gcc/testsuite/ChangeLog: * g++.dg/ext/has-builtin-1.C: Sort built-in traits alphabetically. Signed-off-by: Ken Matsui --- gcc/cp/constraint.cc | 68 - gcc/cp/cp-trait.def

[PATCH v26 00/23] Optimize type traits compilation performance

2023-12-06 Thread Ken Matsui
anges in v11: * Merged all patches into one patch series. * Rebased on top of trunk. * Unified commit message style. * Used _GLIBCXX_USE_BUILTIN_TRAIT. Ken Matsui (23): c++: Sort built-in traits alphabetically c-family, c++: Look up built-in traits via identif

[PATCH v26 00/23] Optimize type traits compilation performance

2023-12-06 Thread Ken Matsui
all paddings affected by the enum rid change. Changes in v11: * Merged all patches into one patch series. * Rebased on top of trunk. * Unified commit message style. * Used _GLIBCXX_USE_BUILTIN_TRAIT. Ken Matsui (23): c++: Sort built-in traits alphabetically c-family,

Re: [PATCH v25 25/33] libstdc++: Optimize std::is_function compilation performance

2023-12-06 Thread Ken Matsui
On Tue, Oct 24, 2023 at 4:02 AM Jonathan Wakely wrote: > > > > On Tue, 24 Oct 2023 at 03:16, Ken Matsui wrote: >> >> This patch optimizes the compilation performance of std::is_function >> by dispatching to the new __is_function built-in trait

[PATCH v25 14/33] c++: Implement __is_scoped_enum built-in trait

2023-10-23 Thread Ken Matsui
. 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 --- gcc/cp/constraint.cc | 3 + gcc/cp/cp-trait.def | 1 + gcc/cp

[PATCH v25 20/33] c++: Implement __is_member_object_pointer built-in trait

2023-10-23 Thread Ken Matsui
. (finish_trait_expr): Likewise. gcc/testsuite/ChangeLog: * g++.dg/ext/has-builtin-1.C: Test existence of __is_member_object_pointer. * g++.dg/ext/is_member_object_pointer.C: New test. Signed-off-by: Ken Matsui --- gcc/cp/constraint.cc | 3

[PATCH v25 07/33] libstdc++: Optimize std::is_volatile compilation performance

2023-10-23 Thread Ken Matsui
This patch optimizes the compilation performance of std::is_volatile by dispatching to the new __is_volatile built-in trait. libstdc++-v3/ChangeLog: * include/std/type_traits (is_volatile): Use __is_volatile built-in trait. (is_volatile_v): Likewise. Signed-off-by: Ken

[PATCH v25 18/33] c++: Implement __is_member_function_pointer built-in trait

2023-10-23 Thread Ken Matsui
): Likewise. (finish_trait_expr): Likewise. gcc/testsuite/ChangeLog: * g++.dg/ext/has-builtin-1.C: Test existence of __is_member_function_pointer. * g++.dg/ext/is_member_function_pointer.C: New test. Signed-off-by: Ken Matsui --- gcc/cp/constraint.cc

[PATCH v25 28/33] c++: Implement __remove_pointer built-in trait

2023-10-23 Thread Ken Matsui
of __remove_pointer. * g++.dg/ext/remove_pointer.C: New test. Signed-off-by: Ken Matsui --- gcc/cp/cp-trait.def | 1 + gcc/cp/semantics.cc | 5 +++ gcc/testsuite/g++.dg/ext/has-builtin-1.C | 3 ++ gcc/testsuite/g++.dg/ext/remove_pointer.C | 51

[PATCH v25 29/33] libstdc++: Optimize std::remove_pointer compilation performance

2023-10-23 Thread Ken Matsui
This patch optimizes the compilation performance of std::remove_pointer by dispatching to the new remove_pointer built-in trait. libstdc++-v3/ChangeLog: * include/std/type_traits (remove_pointer): Use __remove_pointer built-in trait. Signed-off-by: Ken Matsui --- libstdc++-v3

[PATCH v25 16/33] c++: Implement __is_member_pointer built-in trait

2023-10-23 Thread Ken Matsui
. (finish_trait_expr): Likewise. gcc/testsuite/ChangeLog: * g++.dg/ext/has-builtin-1.C: Test existence of __is_member_pointer. * g++.dg/ext/is_member_pointer.C: New test. Signed-off-by: Ken Matsui --- gcc/cp/constraint.cc | 3 ++ gcc/cp/cp-trait.def

[PATCH v25 30/33] c++: Implement __is_pointer built-in trait

2023-10-23 Thread Ken Matsui
/testsuite/ChangeLog: * g++.dg/ext/has-builtin-1.C: Test existence of __is_pointer. * g++.dg/ext/is_pointer.C: New test. Signed-off-by: Ken Matsui --- gcc/cp/constraint.cc | 3 ++ gcc/cp/cp-trait.def | 1 + gcc/cp/semantics.cc

[PATCH v25 32/33] c++: Implement __is_invocable built-in trait

2023-10-23 Thread Ken Matsui
. * g++.dg/ext/is_invocable3.C: New test. * g++.dg/ext/is_invocable4.C: New test. Signed-off-by: Ken Matsui --- gcc/cp/constraint.cc | 6 + gcc/cp/cp-trait.def | 1 + gcc/cp/method.h | 28 ++ gcc/cp/semantics.cc

[PATCH v25 11/33] libstdc++: Optimize std::is_unbounded_array compilation performance

2023-10-23 Thread Ken Matsui
This patch optimizes the compilation performance of std::is_unbounded_array by dispatching to the new __is_unbounded_array built-in trait. libstdc++-v3/ChangeLog: * include/std/type_traits (is_unbounded_array_v): Use __is_unbounded_array built-in trait. Signed-off-by: Ken Matsui

[PATCH v25 15/33] libstdc++: Optimize std::is_scoped_enum compilation performance

2023-10-23 Thread Ken Matsui
. Signed-off-by: Ken Matsui --- libstdc++-v3/include/std/type_traits | 12 1 file changed, 12 insertions(+) diff --git a/libstdc++-v3/include/std/type_traits b/libstdc++-v3/include/std/type_traits index d306073a797..7fd29d8d9f2 100644 --- a/libstdc++-v3/include/std/type_traits +++ b

Re: [PATCH v25 00/33] Optimize type traits compilation performance

2023-10-23 Thread Ken Matsui
I accidentally sent is_invocable patches as well, but those have no changes. On Mon, Oct 23, 2023 at 7:04 PM Ken Matsui wrote: > > This patch series optimizes type traits compilation performance by > implementing built-in type traits and using them in libstdc++. > >

[PATCH v25 24/33] c++: Implement __is_function built-in trait

2023-10-23 Thread Ken Matsui
/testsuite/ChangeLog: * g++.dg/ext/has-builtin-1.C: Test existence of __is_function. * g++.dg/ext/is_function.C: New test. Signed-off-by: Ken Matsui --- gcc/cp/constraint.cc | 3 ++ gcc/cp/cp-trait.def | 1 + gcc/cp/semantics.cc

<    1   2   3   4   5   6   7   8   9   10   >