https://gcc.gnu.org/bugzilla/show_bug.cgi?id=111805
Bug ID: 111805
Summary: suboptimal codegen of variant
Product: gcc
Version: unknown
Status: UNCONFIRMED
Severity: normal
Priority: P3
Component: c++
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=111804
--- Comment #1 from CTC <19373742 at buaa dot edu.cn> ---
Created attachment 56104
--> https://gcc.gnu.org/bugzilla/attachment.cgi?id=56104=edit
The compiler output
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=111804
Bug ID: 111804
Summary: wrong code with '-O3 -fno-inline-functions-called-once
-fno-inline-small-functions -fno-toplevel-reorder
-fno-tree-fre'
Product: gcc
Hi, I'm working on optimizing if-conversion for my own business
recently. I got a problem here.
I tried to optimize it in such a case, for example, when a conditional
statement block has only if statement and no else statement, the
source C code looks like this:
int* foo; // assume this has been
On 10/13/23 14:53, Marek Polacek wrote:
On Thu, Oct 12, 2023 at 09:41:43PM -0400, Jason Merrill wrote:
On 10/12/23 17:04, Marek Polacek wrote:
Bootstrapped/regtested on x86_64-pc-linux-gnu, ok for trunk?
-- >8 --
My recent patch introducing cp_fold_immediate_r caused exponential
compile time
On 10/10/23 13:20, Marek Polacek wrote:
Thanks for looking into this. It's kept me occupied for quite a while.
Thanks, nice work.
On Tue, Aug 29, 2023 at 03:26:46PM -0400, Jason Merrill wrote:
On 8/23/23 15:49, Marek Polacek wrote:
+struct A {
+ int x;
+ int y = id(x);
+};
+
+template
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=103216
Andrew Pinski changed:
What|Removed |Added
Keywords||TREE
--- Comment #10 from Andrew
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=111803
--- Comment #3 from grbrown ---
(In reply to grbrown from comment #2)
> From my tests though, removing the 'template' will allow it to
> work, so I don't know if you're explanation is entirely correct.
I.e. replace
template
void
These iterators are redundant, removed and commmitted.
gcc/ChangeLog:
* config/riscv/vector-iterators.md: Remove redundant iterators.
---
gcc/config/riscv/vector-iterators.md | 110 ---
1 file changed, 110 deletions(-)
diff --git
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=111803
--- Comment #2 from grbrown ---
(In reply to Andrew Pinski from comment #1)
> Note clang also rejects this code for the same reason as GCC.
>
> Here is a reduced version which shows the difference between ICC/MSVC and
> GCC/clang:
> ```
>
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=111803
--- Comment #1 from Andrew Pinski ---
Note clang also rejects this code for the same reason as GCC.
Here is a reduced version which shows the difference between ICC/MSVC and
GCC/clang:
```
struct A
{
int data;
};
struct B : A{};
struct
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=111803
Bug ID: 111803
Summary: Template deduction failure for baseclass member
pointer with template data type
Product: gcc
Version: 13.2.0
Status: UNCONFIRMED
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=111218
--- Comment #7 from kargl at gcc dot gnu.org ---
An alternative patch that allows the original code to compile is
diff --git a/gcc/fortran/symbol.cc b/gcc/fortran/symbol.cc
index a6078bc608a..34eb3a65e8f 100644
--- a/gcc/fortran/symbol.cc
+++
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=111218
kargl at gcc dot gnu.org changed:
What|Removed |Added
Priority|P3 |P4
--- Comment #6 from kargl
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=111218
--- Comment #5 from kargl at gcc dot gnu.org ---
Interesting bug. If one puts a break point ...
0x75917d gfc_format_decoder
/home/toon/compilers/gcc/gcc/fortran/error.cc:1078
0x2153e1f pp_format(pretty_printer*, text_info*)
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=111432
Andrew Pinski changed:
What|Removed |Added
URL||https://gcc.gnu.org/piperma
This adds the simplification `a & (x | CST)` to a when we know that
`(a & ~CST) == 0`. In a similar fashion as `a & CST` is handle.
I looked into handling `a | (x & CST)` but that I don't see any decent
simplifications happening.
OK? Bootstrapped and tested on x86_linux-gnu with no regressions.
In working on some future patches that involve utilizing vector pair
instructions, I wanted to be able to tune my program to enable or disable using
the vector pair load or store operations while still keeping the other
operations on the vector pair.
This patch adds two undocumented tuning
This is my first time submitting a patch, so my apologies if I'm
submitting incorrectly or missing something.
Clang is unable to compile parts of libstdc++'s ranges implementation
due to LLVM-61763, a Clang frontend compiler bug in handling the
declarations of constrained friends. The problem
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=111791
JuzheZhong changed:
What|Removed |Added
CC||juzhe.zhong at rivai dot ai
--- Comment
This patch implements built-in trait for std::is_unbounded_array.
gcc/cp/ChangeLog:
* cp-trait.def: Define __is_unbounded_array.
* cp-trait.gperf: Reflect cp-trait.def change.
* cp-trait.h: Likewise.
* constraint.cc (diagnose_trait_expr): Handle
This patch implements built-in trait for std::is_pointer.
gcc/cp/ChangeLog:
* cp-trait.def: Define __is_pointer.
* cp-trait.gperf: Reflect cp-trait.def change.
* cp-trait.h: Likewise.
* constraint.cc (diagnose_trait_expr): Handle CPTK_IS_POINTER.
*
This patch implements built-in trait for std::is_reference.
gcc/cp/ChangeLog:
* cp-trait.def: Define __is_reference.
* cp-trait.gperf: Reflect cp-trait.def change.
* cp-trait.h: Likewise.
* constraint.cc (diagnose_trait_expr): Handle CPTK_IS_REFERENCE.
*
This patch optimizes the performance of the is_member_function_pointer trait
by dispatching to the new __is_member_function_pointer built-in trait.
libstdc++-v3/ChangeLog:
* include/std/type_traits (is_member_function_pointer): Use
__is_member_function_pointer built-in trait.
This patch implements built-in trait for std::is_scoped_enum.
gcc/cp/ChangeLog:
* cp-trait.def: Define __is_scoped_enum.
* cp-trait.gperf: Reflect cp-trait.def change.
* cp-trait.h: Likewise.
* constraint.cc (diagnose_trait_expr): Handle CPTK_IS_SCOPED_ENUM.
This patch optimizes the performance of the is_compound trait 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 Matsui
This patch implements built-in trait for std::is_volatile.
gcc/cp/ChangeLog:
* cp-trait.def: Define __is_volatile.
* cp-trait.gperf: Reflect cp-trait.def change.
* cp-trait.h: Likewise.
* constraint.cc (diagnose_trait_expr): Handle CPTK_IS_VOLATILE.
*
This patch implements built-in trait for std::is_signed.
gcc/cp/ChangeLog:
* cp-trait.def: Define __is_signed.
* cp-trait.gperf: Reflect cp-trait.def change.
* cp-trait.h: Likewise.
* constraint.cc (diagnose_trait_expr): Handle CPTK_IS_SIGNED.
*
This patch optimizes the performance of the is_scalar trait 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
---
This patch optimizes the performance of the is_arithmetic trait by dispatching
to the new __is_arithmetic built-in trait.
libstdc++-v3/ChangeLog:
* include/std/type_traits (is_arithmetic): Use __is_arithmetic
built-in trait.
(is_arithmetic_v): Likewise.
Signed-off-by:
This patch optimizes the performance of the is_array trait 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
---
This patch optimizes the performance of the is_fundamental trait by
dispatching to the new __is_arithmetic built-in trait.
libstdc++-v3/ChangeLog:
* include/std/type_traits (is_fundamental_v): Use __is_arithmetic
built-in trait.
(is_fundamental): Likewise. Optimize the
This patch implements built-in trait for std::is_const.
gcc/cp/ChangeLog:
* Make-lang.in: Update key positions for gperf, based on
automatically computed values.
* cp-trait.def: Define __is_const.
* cp-trait.gperf: Reflect cp-trait.def change.
*
This patch implements built-in trait for std::is_member_object_pointer.
gcc/cp/ChangeLog:
* cp-trait.def: Define __is_member_object_pointer.
* cp-trait.gperf: Reflect cp-trait.def change.
* cp-trait.h: Likewise.
* constraint.cc (diagnose_trait_expr): Handle
This patch optimizes the performance of the is_pointer trait by dispatching to
the new __is_pointer built-in trait.
libstdc++-v3/ChangeLog:
* include/bits/cpp_type_traits.h (__is_pointer): Use __is_pointer
built-in trait.
* include/std/type_traits (is_pointer): Likewise.
This patch implements built-in trait for std::is_unsigned.
gcc/cp/ChangeLog:
* cp-trait.def: Define __is_unsigned.
* cp-trait.gperf: Reflect cp-trait.def change.
* cp-trait.h: Likewise.
* constraint.cc (diagnose_trait_expr): Handle CPTK_IS_UNSIGNED.
*
This patch implements built-in trait for std::remove_pointer.
gcc/cp/ChangeLog:
* cp-trait.def: Define __remove_pointer.
* cp-trait.gperf: Reflect cp-trait.def change.
* cp-trait.h: Likewise.
* semantics.cc (finish_trait_type): Handle CPTK_REMOVE_POINTER.
This patch implements built-in trait for std::is_member_pointer.
gcc/cp/ChangeLog:
* cp-trait.def: Define __is_member_pointer.
* cp-trait.gperf: Reflect cp-trait.def change.
* cp-trait.h: Likewise.
* constraint.cc (diagnose_trait_expr): Handle
This patch optimizes the performance of the is_scoped_enum trait
by dispatching to the new __is_scoped_enum built-in trait.
libstdc++-v3/ChangeLog:
* include/std/type_traits (is_scoped_enum): Use
__is_scoped_enum built-in trait.
(is_scoped_enum_v): Likewise.
This patch implements built-in trait for std::is_function.
gcc/cp/ChangeLog:
* cp-trait.def: Define __is_function.
* cp-trait.gperf: Reflect cp-trait.def change.
* cp-trait.h: Likewise.
* constraint.cc (diagnose_trait_expr): Handle CPTK_IS_FUNCTION.
*
This patch optimizes the performance of the is_bounded_array trait 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
---
This patch optimizes the performance of the is_object trait by dispatching to
the new __is_function and __is_reference built-in traits.
libstdc++-v3/ChangeLog:
* include/std/type_traits (is_object): Use __is_function and
__is_reference built-in traits.
(is_object_v):
This patch implements built-in trait for std::is_member_function_pointer.
gcc/cp/ChangeLog:
* cp-trait.def: Define __is_member_function_pointer.
* cp-trait.gperf: Reflect cp-trait.def change.
* cp-trait.h: Likewise.
* constraint.cc (diagnose_trait_expr): Handle
This patch implements built-in trait for std::is_arithmetic.
gcc/cp/ChangeLog:
* cp-trait.def: Define __is_arithmetic.
* cp-trait.gperf: Reflect cp-trait.def change.
* cp-trait.h: Likewise.
* constraint.cc (diagnose_trait_expr): Handle CPTK_IS_ARITHMETIC.
This patch optimizes the performance of the is_member_pointer trait
by dispatching to the new __is_member_pointer built-in trait.
libstdc++-v3/ChangeLog:
* include/std/type_traits (is_member_pointer): Use __is_member_pointer
built-in trait.
(is_member_pointer_v):
This patch optimizes the performance of the is_reference trait by dispatching
to the new __is_reference built-in trait.
libstdc++-v3/ChangeLog:
* include/std/type_traits (is_reference): Use __is_reference built-in
trait.
(is_reference_v): Likewise.
Signed-off-by: Ken
This patch implements built-in trait for std::is_bounded_array.
gcc/cp/ChangeLog:
* cp-trait.def: Define __is_bounded_array.
* cp-trait.gperf: Reflect cp-trait.def change.
* cp-trait.h: Likewise.
* constraint.cc (diagnose_trait_expr): Handle CPTK_IS_BOUNDED_ARRAY.
This patch optimizes the performance of the is_volatile trait 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 Matsui
This patch implements built-in trait for std::is_array.
gcc/cp/ChangeLog:
* cp-trait.def: Define __is_array.
* cp-trait.gperf: Reflect cp-trait.def change.
* cp-trait.h: Likewise.
* constraint.cc (diagnose_trait_expr): Handle CPTK_IS_ARRAY.
* semantics.cc
This patch optimizes the performance of the is_member_object_pointer trait
by dispatching to the new __is_member_object_pointer built-in trait.
libstdc++-v3/ChangeLog:
* include/std/type_traits (is_member_object_pointer): Use
__is_member_object_pointer built-in trait.
This patch optimizes the performance of the is_unbounded_array trait 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
---
This patch optimizes the performance of the is_function trait by dispatching
to the new __is_function built-in trait.
libstdc++-v3/ChangeLog:
* include/std/type_traits (is_function): Use __is_function built-in
trait.
(is_function_v): Likewise. Optimize its implementation.
This patch optimizes the performance of the is_const trait 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
---
This patch implements built-in trait for std::is_scalar.
gcc/cp/ChangeLog:
* cp-trait.def: Define __is_scalar.
* cp-trait.gperf: Reflect cp-trait.def change.
* cp-trait.h: Likewise.
* constraint.cc (diagnose_trait_expr): Handle CPTK_IS_SCALAR.
*
This patch optimizes the performance of the is_signed trait 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
---
This patch optimizes the performance of the is_unsigned trait 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 Matsui
This patch optimizes the performance of the remove_pointer trait 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
---
This patch accepts the use of built-in trait identifiers when they are
actually not used as traits. Specifically, we check if the subsequent token
is '(' for ordinary built-in traits or is '<' only for the special
__type_pack_element built-in trait. If those identifiers are used
differently, the
Since RID_MAX soon reaches 255 and all built-in traits are used approximately
once in a C++ translation unit, this patch removes all RID values for built-in
traits and uses gperf to look up the specific trait. Rather than holding
traits as keywords, we set all trait identifiers as cik_trait,
This patch sorts built-in traits alphabetically for better code
readability.
gcc/cp/ChangeLog:
* constraint.cc (diagnose_trait_expr): Sort built-in traits
alphabetically.
* cp-trait.def: Likewise.
* semantics.cc (trait_expr_value): Likewise.
This patch series optimizes type traits performance by implementing
built-in type traits and using them in libstdc++.
Changes in v19:
* Fixed a typo.
* Rebased on top of trunk.
* Improved clarity of the commit message.
Changes in v18:
* Removed all RID values
Snapshot gcc-12-20231013 is now available on
https://gcc.gnu.org/pub/gcc/snapshots/12-20231013/
and on various mirrors, see http://gcc.gnu.org/mirrors.html for details.
This snapshot has been generated from the GCC 12 git branch
with the following options: git://gcc.gnu.org/git/gcc.git branch
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=104698
Michael Meissner changed:
What|Removed |Added
Status|NEW |RESOLVED
Resolution|---
Bootstrapped/regtested on x86_64-pc-linux-gnu, ok for trunk?
-- >8 --
In C++23, since P2448, a constexpr function F that calls a non-constexpr
function N is OK as long as we don't actually call F in a constexpr
context. So instead of giving an error in maybe_save_constexpr_fundef,
we only give
> When looking around, I stumbled upon commit
> d0bbecb1c41 "RISC-V: Add riscv_vector.h wrapper in testsuite to
> prevent pull in stdint.h from C library"
>work
> Which seems like a step in a right direction, but how does one ensure
> that the wrapper riscv_vector.h (containing stdint-gcc.h)
This patch optimizes the performance of the is_scalar trait 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
---
This patch implements built-in trait for std::is_scalar.
gcc/cp/ChangeLog:
* cp-trait.def: Define __is_scalar.
* cp-trait.gperf: Reflect cp-trait.def change.
* cp-trait.h: Likewise.
* constraint.cc (diagnose_trait_expr): Handle CPTK_IS_SCALAR.
*
This patch optimizes the performance of the is_signed trait 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
---
This patch implements built-in trait for std::is_signed.
gcc/cp/ChangeLog:
* cp-trait.def: Define __is_signed.
* cp-trait.gperf: Reflect cp-trait.def change.
* cp-trait.h: Likewise.
* constraint.cc (diagnose_trait_expr): Handle CPTK_IS_SIGNED.
*
This patch optimizes the performance of the is_unsigned trait 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 Matsui
This patch optimizes the performance of the is_compound trait 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 Matsui
This patch implements built-in trait for std::is_unsigned.
gcc/cp/ChangeLog:
* cp-trait.def: Define __is_unsigned.
* cp-trait.gperf: Reflect cp-trait.def change.
* cp-trait.h: Likewise.
* constraint.cc (diagnose_trait_expr): Handle CPTK_IS_UNSIGNED.
*
This patch optimizes the performance of the is_fundamental trait by
dispatching to the new __is_arithmetic built-in trait.
libstdc++-v3/ChangeLog:
* include/std/type_traits (is_fundamental_v): Use __is_arithmetic
built-in trait.
(is_fundamental): Likewise. Optimize the
This patch optimizes the performance of the is_arithmetic trait by dispatching
to the new __is_arithmetic built-in trait.
libstdc++-v3/ChangeLog:
* include/std/type_traits (is_arithmetic): Use __is_arithmetic
built-in trait.
(is_arithmetic_v): Likewise.
Signed-off-by:
This patch implements built-in trait for std::is_arithmetic.
gcc/cp/ChangeLog:
* cp-trait.def: Define __is_arithmetic.
* cp-trait.gperf: Reflect cp-trait.def change.
* cp-trait.h: Likewise.
* constraint.cc (diagnose_trait_expr): Handle CPTK_IS_ARITHMETIC.
This patch optimizes the performance of the is_pointer trait by dispatching to
the new __is_pointer built-in trait.
libstdc++-v3/ChangeLog:
* include/bits/cpp_type_traits.h (__is_pointer): Use __is_pointer
built-in trait.
* include/std/type_traits (is_pointer): Likewise.
This patch implements built-in trait for std::is_pointer.
gcc/cp/ChangeLog:
* cp-trait.def: Define __is_pointer.
* cp-trait.gperf: Reflect cp-trait.def change.
* cp-trait.h: Likewise.
* constraint.cc (diagnose_trait_expr): Handle CPTK_IS_POINTER.
*
This patch optimizes the performance of the remove_pointer trait 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
---
This patch implements built-in trait for std::remove_pointer.
gcc/cp/ChangeLog:
* cp-trait.def: Define __remove_pointer.
* cp-trait.gperf: Reflect cp-trait.def change.
* cp-trait.h: Likewise.
* semantics.cc (finish_trait_type): Handle CPTK_REMOVE_POINTER.
This patch optimizes the performance of the is_object trait by dispatching to
the new __is_function and __is_reference built-in traits.
libstdc++-v3/ChangeLog:
* include/std/type_traits (is_object): Use __is_function and
__is_reference built-in traits.
(is_object_v):
This patch implements built-in trait for std::is_function.
gcc/cp/ChangeLog:
* cp-trait.def: Define __is_function.
* cp-trait.gperf: Reflect cp-trait.def change.
* cp-trait.h: Likewise.
* constraint.cc (diagnose_trait_expr): Handle CPTK_IS_FUNCTION.
*
This patch optimizes the performance of the is_function trait by dispatching
to the new __is_function built-in trait.
libstdc++-v3/ChangeLog:
* include/std/type_traits (is_function): Use __is_function built-in
trait.
(is_function_v): Likewise. Optimize its implementation.
On Tue, Sep 12, 2023 at 04:09:21PM -0400, Lewis Hyatt wrote:
> On Tue, Aug 8, 2023 at 5:53 PM Jason Merrill wrote:
> >
> > On 7/31/23 22:22, Lewis Hyatt via Gcc-patches wrote:
> > > `#pragma GCC target' is not currently handled in preprocess-only mode
> > > (e.g.,
> > > when running gcc -E or
This patch optimizes the performance of the is_reference trait by dispatching
to the new __is_reference built-in trait.
libstdc++-v3/ChangeLog:
* include/std/type_traits (is_reference): Use __is_reference built-in
trait.
(is_reference_v): Likewise.
Signed-off-by: Ken
This patch implements built-in trait for std::is_reference.
gcc/cp/ChangeLog:
* cp-trait.def: Define __is_reference.
* cp-trait.gperf: Reflect cp-trait.def change.
* cp-trait.h: Likewise.
* constraint.cc (diagnose_trait_expr): Handle CPTK_IS_REFERENCE.
*
This patch implements built-in trait for std::is_member_object_pointer.
gcc/cp/ChangeLog:
* cp-trait.def: Define __is_member_object_pointer.
* cp-trait.gperf: Reflect cp-trait.def change.
* cp-trait.h: Likewise.
* constraint.cc (diagnose_trait_expr): Handle
This patch optimizes the performance of the is_member_object_pointer trait
by dispatching to the new __is_member_object_pointer built-in trait.
libstdc++-v3/ChangeLog:
* include/std/type_traits (is_member_object_pointer): Use
__is_member_object_pointer built-in trait.
This patch implements built-in trait for std::is_member_function_pointer.
gcc/cp/ChangeLog:
* cp-trait.def: Define __is_member_function_pointer.
* cp-trait.gperf: Reflect cp-trait.def change.
* cp-trait.h: Likewise.
* constraint.cc (diagnose_trait_expr): Handle
This patch optimizes the performance of the is_member_function_pointer trait
by dispatching to the new __is_member_function_pointer built-in trait.
libstdc++-v3/ChangeLog:
* include/std/type_traits (is_member_function_pointer): Use
__is_member_function_pointer built-in trait.
This patch optimizes the performance of the is_member_pointer trait
by dispatching to the new __is_member_pointer built-in trait.
libstdc++-v3/ChangeLog:
* include/std/type_traits (is_member_pointer): Use __is_member_pointer
built-in trait.
(is_member_pointer_v):
This patch optimizes the performance of the is_scoped_enum trait
by dispatching to the new __is_scoped_enum built-in trait.
libstdc++-v3/ChangeLog:
* include/std/type_traits (is_scoped_enum): Use
__is_scoped_enum built-in trait.
(is_scoped_enum_v): Likewise.
This patch implements built-in trait for std::is_member_pointer.
gcc/cp/ChangeLog:
* cp-trait.def: Define __is_member_pointer.
* cp-trait.gperf: Reflect cp-trait.def change.
* cp-trait.h: Likewise.
* constraint.cc (diagnose_trait_expr): Handle
This patch implements built-in trait for std::is_scoped_enum.
gcc/cp/ChangeLog:
* cp-trait.def: Define __is_scoped_enum.
* cp-trait.gperf: Reflect cp-trait.def change.
* cp-trait.h: Likewise.
* constraint.cc (diagnose_trait_expr): Handle CPTK_IS_SCOPED_ENUM.
This patch optimizes the performance of the is_bounded_array trait 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
---
This patch optimizes the performance of the is_unbounded_array trait 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
---
This patch implements built-in trait for std::is_bounded_array.
gcc/cp/ChangeLog:
* cp-trait.def: Define __is_bounded_array.
* cp-trait.gperf: Reflect cp-trait.def change.
* cp-trait.h: Likewise.
* constraint.cc (diagnose_trait_expr): Handle CPTK_IS_BOUNDED_ARRAY.
This patch optimizes the performance of the is_array trait 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
---
This patch implements built-in trait for std::is_array.
gcc/cp/ChangeLog:
* cp-trait.def: Define __is_array.
* cp-trait.gperf: Reflect cp-trait.def change.
* cp-trait.h: Likewise.
* constraint.cc (diagnose_trait_expr): Handle CPTK_IS_ARRAY.
* semantics.cc
This patch implements built-in trait for std::is_unbounded_array.
gcc/cp/ChangeLog:
* cp-trait.def: Define __is_unbounded_array.
* cp-trait.gperf: Reflect cp-trait.def change.
* cp-trait.h: Likewise.
* constraint.cc (diagnose_trait_expr): Handle
This patch optimizes the performance of the is_const trait 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
---
1 - 100 of 246 matches
Mail list logo