Compare commits
10 commits
f30caf1bda
...
04696df096
Author | SHA1 | Date | |
---|---|---|---|
![]() |
04696df096 | ||
![]() |
0f4eb65785 | ||
![]() |
10323e2cca | ||
![]() |
ee6c5afec3 | ||
![]() |
7c688e026a | ||
![]() |
da7f0be91e | ||
![]() |
a7f1b00ed6 | ||
![]() |
61cb0c889e | ||
![]() |
9662299593 | ||
![]() |
56d5f8a605 |
69 changed files with 506 additions and 10 deletions
|
@ -1,3 +1,7 @@
|
||||||
|
2024-08-01 Release Manager
|
||||||
|
|
||||||
|
* GCC 14.2.0 released.
|
||||||
|
|
||||||
2024-05-07 Release Manager
|
2024-05-07 Release Manager
|
||||||
|
|
||||||
* GCC 14.1.0 released.
|
* GCC 14.1.0 released.
|
||||||
|
|
|
@ -1,3 +1,7 @@
|
||||||
|
2024-08-01 Release Manager
|
||||||
|
|
||||||
|
* GCC 14.2.0 released.
|
||||||
|
|
||||||
2024-05-07 Release Manager
|
2024-05-07 Release Manager
|
||||||
|
|
||||||
* GCC 14.1.0 released.
|
* GCC 14.1.0 released.
|
||||||
|
|
|
@ -1,3 +1,7 @@
|
||||||
|
2024-08-01 Release Manager
|
||||||
|
|
||||||
|
* GCC 14.2.0 released.
|
||||||
|
|
||||||
2024-05-07 Release Manager
|
2024-05-07 Release Manager
|
||||||
|
|
||||||
* GCC 14.1.0 released.
|
* GCC 14.1.0 released.
|
||||||
|
|
|
@ -1,3 +1,7 @@
|
||||||
|
2024-08-01 Release Manager
|
||||||
|
|
||||||
|
* GCC 14.2.0 released.
|
||||||
|
|
||||||
2024-05-07 Jakub Jelinek <jakub@redhat.com>
|
2024-05-07 Jakub Jelinek <jakub@redhat.com>
|
||||||
|
|
||||||
Backported from master:
|
Backported from master:
|
||||||
|
|
|
@ -1,3 +1,7 @@
|
||||||
|
2024-08-01 Release Manager
|
||||||
|
|
||||||
|
* GCC 14.2.0 released.
|
||||||
|
|
||||||
2024-05-07 Release Manager
|
2024-05-07 Release Manager
|
||||||
|
|
||||||
* GCC 14.1.0 released.
|
* GCC 14.1.0 released.
|
||||||
|
|
|
@ -1,3 +1,7 @@
|
||||||
|
2024-08-01 Release Manager
|
||||||
|
|
||||||
|
* GCC 14.2.0 released.
|
||||||
|
|
||||||
2024-05-07 Release Manager
|
2024-05-07 Release Manager
|
||||||
|
|
||||||
* GCC 14.1.0 released.
|
* GCC 14.1.0 released.
|
||||||
|
|
|
@ -1,3 +1,7 @@
|
||||||
|
2024-08-01 Release Manager
|
||||||
|
|
||||||
|
* GCC 14.2.0 released.
|
||||||
|
|
||||||
2024-05-07 Release Manager
|
2024-05-07 Release Manager
|
||||||
|
|
||||||
* GCC 14.1.0 released.
|
* GCC 14.1.0 released.
|
||||||
|
|
|
@ -1,3 +1,7 @@
|
||||||
|
2024-08-01 Release Manager
|
||||||
|
|
||||||
|
* GCC 14.2.0 released.
|
||||||
|
|
||||||
2024-05-07 Release Manager
|
2024-05-07 Release Manager
|
||||||
|
|
||||||
* GCC 14.1.0 released.
|
* GCC 14.1.0 released.
|
||||||
|
|
|
@ -1 +1 @@
|
||||||
14.1.1
|
14.2.0
|
||||||
|
|
|
@ -1,3 +1,43 @@
|
||||||
|
2024-08-01 Release Manager
|
||||||
|
|
||||||
|
* GCC 14.2.0 released.
|
||||||
|
|
||||||
|
2024-07-30 Lingling Kong <lingling.kong@intel.com>
|
||||||
|
|
||||||
|
PR target/115978
|
||||||
|
* config/i386/driver-i386.cc (host_detect_local_cpu): Enable
|
||||||
|
APX_F only for 64-bit codegen.
|
||||||
|
* config/i386/i386-options.cc (DEF_PTA): Skip PTA_APX_F if
|
||||||
|
not in 64-bit mode.
|
||||||
|
|
||||||
|
2024-07-29 Richard Biener <rguenther@suse.de>
|
||||||
|
|
||||||
|
Backported from master:
|
||||||
|
2024-07-24 Richard Biener <rguenther@suse.de>
|
||||||
|
|
||||||
|
PR tree-optimization/116057
|
||||||
|
* tree-ssa-ccp.cc (likely_value): Also walk CTORs in stmt
|
||||||
|
operands to look for constants.
|
||||||
|
|
||||||
|
2024-07-29 Jan Hubicka <hubicka@ucw.cz>
|
||||||
|
|
||||||
|
PR ipa/116055
|
||||||
|
* ipa-modref.cc (analyze_function): Do not ICE when flags regress.
|
||||||
|
|
||||||
|
2024-07-29 Haochen Jiang <haochen.jiang@intel.com>
|
||||||
|
|
||||||
|
* config/i386/avx512dqintrin.h
|
||||||
|
(_mm_mask_fpclass_ss_mask): Correct operand order.
|
||||||
|
(_mm_mask_fpclass_sd_mask): Ditto.
|
||||||
|
(_mm256_maskz_reduce_round_ss): Use __builtin_ia32_reducess_mask_round
|
||||||
|
instead of __builtin_ia32_reducesd_mask_round.
|
||||||
|
(_mm_reduce_round_sd): Use -1 as mask since it is non-mask.
|
||||||
|
(_mm_reduce_round_ss): Ditto.
|
||||||
|
* config/i386/avx512vlbwintrin.h
|
||||||
|
(_mm256_mask_alignr_epi8): Correct operand usage.
|
||||||
|
(_mm_mask_alignr_epi8): Ditto.
|
||||||
|
* config/i386/avx512vlintrin.h (_mm_mask_alignr_epi64): Ditto.
|
||||||
|
|
||||||
2024-07-24 Christoph Müllner <christoph.muellner@vrull.eu>
|
2024-07-24 Christoph Müllner <christoph.muellner@vrull.eu>
|
||||||
|
|
||||||
Backported from master:
|
Backported from master:
|
||||||
|
|
|
@ -1 +1 @@
|
||||||
20240729
|
20240801
|
||||||
|
|
|
@ -1,3 +1,7 @@
|
||||||
|
2024-08-01 Release Manager
|
||||||
|
|
||||||
|
* GCC 14.2.0 released.
|
||||||
|
|
||||||
2024-06-10 Eric Botcazou <ebotcazou@adacore.com>
|
2024-06-10 Eric Botcazou <ebotcazou@adacore.com>
|
||||||
|
|
||||||
PR ada/114708
|
PR ada/114708
|
||||||
|
|
|
@ -1,3 +1,7 @@
|
||||||
|
2024-08-01 Release Manager
|
||||||
|
|
||||||
|
* GCC 14.2.0 released.
|
||||||
|
|
||||||
2024-07-19 Daniel Bertalan <dani@danielbertalan.dev>
|
2024-07-19 Daniel Bertalan <dani@danielbertalan.dev>
|
||||||
|
|
||||||
Backported from master:
|
Backported from master:
|
||||||
|
|
|
@ -1,3 +1,7 @@
|
||||||
|
2024-08-01 Release Manager
|
||||||
|
|
||||||
|
* GCC 14.2.0 released.
|
||||||
|
|
||||||
2024-07-03 Lewis Hyatt <lhyatt@gmail.com>
|
2024-07-03 Lewis Hyatt <lhyatt@gmail.com>
|
||||||
|
|
||||||
PR pch/115312
|
PR pch/115312
|
||||||
|
|
|
@ -1,3 +1,7 @@
|
||||||
|
2024-08-01 Release Manager
|
||||||
|
|
||||||
|
* GCC 14.2.0 released.
|
||||||
|
|
||||||
2024-07-01 Jakub Jelinek <jakub@redhat.com>
|
2024-07-01 Jakub Jelinek <jakub@redhat.com>
|
||||||
|
|
||||||
Backported from master:
|
Backported from master:
|
||||||
|
|
|
@ -893,7 +893,8 @@ const char *host_detect_local_cpu (int argc, const char **argv)
|
||||||
if (has_feature (isa_names_table[i].feature))
|
if (has_feature (isa_names_table[i].feature))
|
||||||
{
|
{
|
||||||
if (codegen_x86_64
|
if (codegen_x86_64
|
||||||
|| isa_names_table[i].feature != FEATURE_UINTR)
|
|| (isa_names_table[i].feature != FEATURE_UINTR
|
||||||
|
&& isa_names_table[i].feature != FEATURE_APX_F))
|
||||||
options = concat (options, " ",
|
options = concat (options, " ",
|
||||||
isa_names_table[i].option, NULL);
|
isa_names_table[i].option, NULL);
|
||||||
}
|
}
|
||||||
|
|
|
@ -2385,7 +2385,8 @@ ix86_option_override_internal (bool main_args_p,
|
||||||
#define DEF_PTA(NAME) \
|
#define DEF_PTA(NAME) \
|
||||||
if (((processor_alias_table[i].flags & PTA_ ## NAME) != 0) \
|
if (((processor_alias_table[i].flags & PTA_ ## NAME) != 0) \
|
||||||
&& PTA_ ## NAME != PTA_64BIT \
|
&& PTA_ ## NAME != PTA_64BIT \
|
||||||
&& (TARGET_64BIT || PTA_ ## NAME != PTA_UINTR) \
|
&& (TARGET_64BIT || (PTA_ ## NAME != PTA_UINTR \
|
||||||
|
&& PTA_ ## NAME != PTA_APX_F))\
|
||||||
&& !TARGET_EXPLICIT_ ## NAME ## _P (opts)) \
|
&& !TARGET_EXPLICIT_ ## NAME ## _P (opts)) \
|
||||||
SET_TARGET_ ## NAME (opts);
|
SET_TARGET_ ## NAME (opts);
|
||||||
#include "i386-isa.def"
|
#include "i386-isa.def"
|
||||||
|
|
|
@ -1,3 +1,42 @@
|
||||||
|
2024-08-01 Release Manager
|
||||||
|
|
||||||
|
* GCC 14.2.0 released.
|
||||||
|
|
||||||
|
2024-07-29 Marek Polacek <polacek@redhat.com>
|
||||||
|
|
||||||
|
Backported from master:
|
||||||
|
2024-07-17 Marek Polacek <polacek@redhat.com>
|
||||||
|
|
||||||
|
PR c++/115900
|
||||||
|
* constexpr.cc (cxx_eval_call_expression): Set new_obj to NULL_TREE
|
||||||
|
if cxx_fold_indirect_ref set empty_base to true.
|
||||||
|
|
||||||
|
2024-07-29 Jason Merrill <jason@redhat.com>
|
||||||
|
|
||||||
|
Backported from master:
|
||||||
|
2024-07-28 Jason Merrill <jason@redhat.com>
|
||||||
|
|
||||||
|
PR c++/115583
|
||||||
|
* constexpr.cc (cxx_eval_conditional_expression): Don't
|
||||||
|
cp_fold_immediate for if consteval.
|
||||||
|
|
||||||
|
2024-07-29 Jason Merrill <jason@redhat.com>
|
||||||
|
|
||||||
|
Backported from master:
|
||||||
|
2024-07-27 Jason Merrill <jason@redhat.com>
|
||||||
|
|
||||||
|
PR c++/115986
|
||||||
|
* cp-gimplify.cc (remember_escalating_expr): Skip function
|
||||||
|
templates.
|
||||||
|
|
||||||
|
2024-07-29 Jason Merrill <jason@redhat.com>
|
||||||
|
|
||||||
|
Backported from master:
|
||||||
|
2024-07-27 Jason Merrill <jason@redhat.com>
|
||||||
|
|
||||||
|
PR c++/115561
|
||||||
|
* semantics.cc (finish_call_expr): Check cp_unevaluated_operand.
|
||||||
|
|
||||||
2024-07-23 Patrick Palka <ppalka@redhat.com>
|
2024-07-23 Patrick Palka <ppalka@redhat.com>
|
||||||
|
|
||||||
Backported from master:
|
Backported from master:
|
||||||
|
|
|
@ -3123,10 +3123,16 @@ cxx_eval_call_expression (const constexpr_ctx *ctx, tree t,
|
||||||
At this point it has already been evaluated in the call
|
At this point it has already been evaluated in the call
|
||||||
to cxx_bind_parameters_in_call. */
|
to cxx_bind_parameters_in_call. */
|
||||||
new_obj = TREE_VEC_ELT (new_call.bindings, 0);
|
new_obj = TREE_VEC_ELT (new_call.bindings, 0);
|
||||||
new_obj = cxx_fold_indirect_ref (ctx, loc, DECL_CONTEXT (fun), new_obj);
|
bool empty_base = false;
|
||||||
|
new_obj = cxx_fold_indirect_ref (ctx, loc, DECL_CONTEXT (fun), new_obj,
|
||||||
if (ctx->call && ctx->call->fundef
|
&empty_base);
|
||||||
&& DECL_CONSTRUCTOR_P (ctx->call->fundef->decl))
|
/* If we're initializing an empty class, don't set constness, because
|
||||||
|
cxx_fold_indirect_ref will return the wrong object to set constness
|
||||||
|
of. */
|
||||||
|
if (empty_base)
|
||||||
|
new_obj = NULL_TREE;
|
||||||
|
else if (ctx->call && ctx->call->fundef
|
||||||
|
&& DECL_CONSTRUCTOR_P (ctx->call->fundef->decl))
|
||||||
{
|
{
|
||||||
tree cur_obj = TREE_VEC_ELT (ctx->call->bindings, 0);
|
tree cur_obj = TREE_VEC_ELT (ctx->call->bindings, 0);
|
||||||
STRIP_NOPS (cur_obj);
|
STRIP_NOPS (cur_obj);
|
||||||
|
@ -3974,10 +3980,13 @@ cxx_eval_conditional_expression (const constexpr_ctx *ctx, tree t,
|
||||||
if (TREE_CODE (t) == IF_STMT && !val)
|
if (TREE_CODE (t) == IF_STMT && !val)
|
||||||
val = void_node;
|
val = void_node;
|
||||||
|
|
||||||
/* P2564: a subexpression of a manifestly constant-evaluated expression
|
/* P2564: If we aren't in immediate function context (including a manifestly
|
||||||
or conversion is an immediate function context. */
|
constant-evaluated expression), check any uses of immediate functions in
|
||||||
|
the arm we're discarding. But don't do this inside a call; we already
|
||||||
|
checked when parsing the function. */
|
||||||
if (ctx->manifestly_const_eval != mce_true
|
if (ctx->manifestly_const_eval != mce_true
|
||||||
&& !in_immediate_context ()
|
&& !in_immediate_context ()
|
||||||
|
&& !ctx->call
|
||||||
&& cp_fold_immediate (&TREE_OPERAND (t, zero_p ? 1 : 2),
|
&& cp_fold_immediate (&TREE_OPERAND (t, zero_p ? 1 : 2),
|
||||||
ctx->manifestly_const_eval))
|
ctx->manifestly_const_eval))
|
||||||
{
|
{
|
||||||
|
|
|
@ -53,6 +53,10 @@ static GTY(()) hash_set<tree> *deferred_escalating_exprs;
|
||||||
static void
|
static void
|
||||||
remember_escalating_expr (tree t)
|
remember_escalating_expr (tree t)
|
||||||
{
|
{
|
||||||
|
if (uses_template_parms (t))
|
||||||
|
/* Templates don't escalate, and cp_fold_immediate can get confused by
|
||||||
|
other template trees in the function body (c++/115986). */
|
||||||
|
return;
|
||||||
if (!deferred_escalating_exprs)
|
if (!deferred_escalating_exprs)
|
||||||
deferred_escalating_exprs = hash_set<tree>::create_ggc (37);
|
deferred_escalating_exprs = hash_set<tree>::create_ggc (37);
|
||||||
deferred_escalating_exprs->add (t);
|
deferred_escalating_exprs->add (t);
|
||||||
|
|
|
@ -1,3 +1,7 @@
|
||||||
|
2024-08-01 Release Manager
|
||||||
|
|
||||||
|
* GCC 14.2.0 released.
|
||||||
|
|
||||||
2024-05-07 Release Manager
|
2024-05-07 Release Manager
|
||||||
|
|
||||||
* GCC 14.1.0 released.
|
* GCC 14.1.0 released.
|
||||||
|
|
|
@ -1,3 +1,7 @@
|
||||||
|
2024-08-01 Release Manager
|
||||||
|
|
||||||
|
* GCC 14.2.0 released.
|
||||||
|
|
||||||
2024-07-20 Paul Thomas <pault@gcc.gnu.org>
|
2024-07-20 Paul Thomas <pault@gcc.gnu.org>
|
||||||
|
|
||||||
Revert:
|
Revert:
|
||||||
|
|
|
@ -1,3 +1,7 @@
|
||||||
|
2024-08-01 Release Manager
|
||||||
|
|
||||||
|
* GCC 14.2.0 released.
|
||||||
|
|
||||||
2024-05-07 Release Manager
|
2024-05-07 Release Manager
|
||||||
|
|
||||||
* GCC 14.1.0 released.
|
* GCC 14.1.0 released.
|
||||||
|
|
|
@ -1,3 +1,7 @@
|
||||||
|
2024-08-01 Release Manager
|
||||||
|
|
||||||
|
* GCC 14.2.0 released.
|
||||||
|
|
||||||
2024-06-11 Andrew Pinski <quic_apinski@quicinc.com>
|
2024-06-11 Andrew Pinski <quic_apinski@quicinc.com>
|
||||||
|
|
||||||
Backported from master:
|
Backported from master:
|
||||||
|
|
|
@ -1,3 +1,7 @@
|
||||||
|
2024-08-01 Release Manager
|
||||||
|
|
||||||
|
* GCC 14.2.0 released.
|
||||||
|
|
||||||
2024-05-07 Release Manager
|
2024-05-07 Release Manager
|
||||||
|
|
||||||
* GCC 14.1.0 released.
|
* GCC 14.1.0 released.
|
||||||
|
|
|
@ -1,3 +1,7 @@
|
||||||
|
2024-08-01 Release Manager
|
||||||
|
|
||||||
|
* GCC 14.2.0 released.
|
||||||
|
|
||||||
2024-05-07 Release Manager
|
2024-05-07 Release Manager
|
||||||
|
|
||||||
* GCC 14.1.0 released.
|
* GCC 14.1.0 released.
|
||||||
|
|
|
@ -1,3 +1,7 @@
|
||||||
|
2024-08-01 Release Manager
|
||||||
|
|
||||||
|
* GCC 14.2.0 released.
|
||||||
|
|
||||||
2024-05-08 Iain Sandoe <iain@sandoe.co.uk>
|
2024-05-08 Iain Sandoe <iain@sandoe.co.uk>
|
||||||
|
|
||||||
Backported from master:
|
Backported from master:
|
||||||
|
|
|
@ -1,3 +1,7 @@
|
||||||
|
2024-08-01 Release Manager
|
||||||
|
|
||||||
|
* GCC 14.2.0 released.
|
||||||
|
|
||||||
2024-05-07 Release Manager
|
2024-05-07 Release Manager
|
||||||
|
|
||||||
* GCC 14.1.0 released.
|
* GCC 14.1.0 released.
|
||||||
|
|
|
@ -1,3 +1,7 @@
|
||||||
|
2024-08-01 Release Manager
|
||||||
|
|
||||||
|
* GCC 14.2.0 released.
|
||||||
|
|
||||||
2024-07-25 Joseph Myers <josmyers@redhat.com>
|
2024-07-25 Joseph Myers <josmyers@redhat.com>
|
||||||
|
|
||||||
* gcc.pot: Regenerate.
|
* gcc.pot: Regenerate.
|
||||||
|
|
|
@ -1,3 +1,7 @@
|
||||||
|
2024-08-01 Release Manager
|
||||||
|
|
||||||
|
* GCC 14.2.0 released.
|
||||||
|
|
||||||
2024-07-19 Daniel Bertalan <dani@danielbertalan.dev>
|
2024-07-19 Daniel Bertalan <dani@danielbertalan.dev>
|
||||||
|
|
||||||
Backported from master:
|
Backported from master:
|
||||||
|
|
|
@ -1,3 +1,72 @@
|
||||||
|
2024-08-01 Release Manager
|
||||||
|
|
||||||
|
* GCC 14.2.0 released.
|
||||||
|
|
||||||
|
2024-07-30 Lingling Kong <lingling.kong@intel.com>
|
||||||
|
|
||||||
|
PR target/115978
|
||||||
|
* gcc.target/i386/pr115978-1.c: New test.
|
||||||
|
* gcc.target/i386/pr115978-2.c: Ditto.
|
||||||
|
|
||||||
|
2024-07-29 Marek Polacek <polacek@redhat.com>
|
||||||
|
|
||||||
|
Backported from master:
|
||||||
|
2024-07-17 Marek Polacek <polacek@redhat.com>
|
||||||
|
|
||||||
|
PR c++/115900
|
||||||
|
* g++.dg/cpp2a/constexpr-init23.C: New test.
|
||||||
|
|
||||||
|
2024-07-29 Richard Biener <rguenther@suse.de>
|
||||||
|
|
||||||
|
Backported from master:
|
||||||
|
2024-07-24 Richard Biener <rguenther@suse.de>
|
||||||
|
|
||||||
|
PR tree-optimization/116057
|
||||||
|
* gcc.dg/torture/pr116057.c: New testcase.
|
||||||
|
|
||||||
|
2024-07-29 Jakub Jelinek <jakub@redhat.com>
|
||||||
|
|
||||||
|
Backported from master:
|
||||||
|
2024-07-29 Jakub Jelinek <jakub@redhat.com>
|
||||||
|
|
||||||
|
PR c++/115986
|
||||||
|
* g++.dg/cpp2a/consteval-prop21.C (operator "" _c): Use
|
||||||
|
unsigned long long rather than __uint128_t for return type if int128
|
||||||
|
is unsupported.
|
||||||
|
|
||||||
|
2024-07-29 Jason Merrill <jason@redhat.com>
|
||||||
|
|
||||||
|
Backported from master:
|
||||||
|
2024-07-28 Jason Merrill <jason@redhat.com>
|
||||||
|
|
||||||
|
PR c++/115583
|
||||||
|
* g++.dg/cpp23/consteval-if13.C: New test.
|
||||||
|
|
||||||
|
2024-07-29 Jason Merrill <jason@redhat.com>
|
||||||
|
|
||||||
|
Backported from master:
|
||||||
|
2024-07-27 Jason Merrill <jason@redhat.com>
|
||||||
|
|
||||||
|
PR c++/115986
|
||||||
|
* g++.dg/cpp2a/consteval-prop21.C: New test.
|
||||||
|
|
||||||
|
2024-07-29 Jason Merrill <jason@redhat.com>
|
||||||
|
|
||||||
|
Backported from master:
|
||||||
|
2024-07-27 Jason Merrill <jason@redhat.com>
|
||||||
|
|
||||||
|
PR c++/115561
|
||||||
|
* g++.dg/cpp2a/concepts-lambda21.C: New test.
|
||||||
|
|
||||||
|
2024-07-29 Haochen Jiang <haochen.jiang@intel.com>
|
||||||
|
|
||||||
|
* gcc.target/i386/avx512bw-vpalignr-1b.c: New test.
|
||||||
|
* gcc.target/i386/avx512dq-vfpclasssd-1b.c: Ditto.
|
||||||
|
* gcc.target/i386/avx512dq-vfpclassss-1b.c: Ditto.
|
||||||
|
* gcc.target/i386/avx512dq-vreducesd-1b.c: Ditto.
|
||||||
|
* gcc.target/i386/avx512dq-vreducess-1b.c: Ditto.
|
||||||
|
* gcc.target/i386/avx512vl-valignq-1b.c: Ditto.
|
||||||
|
|
||||||
2024-07-24 Jakub Jelinek <jakub@redhat.com>
|
2024-07-24 Jakub Jelinek <jakub@redhat.com>
|
||||||
|
|
||||||
Backported from master:
|
Backported from master:
|
||||||
|
|
17
gcc/testsuite/g++.dg/cpp23/consteval-if13.C
Normal file
17
gcc/testsuite/g++.dg/cpp23/consteval-if13.C
Normal file
|
@ -0,0 +1,17 @@
|
||||||
|
// PR c++/115583
|
||||||
|
// { dg-do compile { target c++23 } }
|
||||||
|
|
||||||
|
consteval int f(int i) {
|
||||||
|
return i;
|
||||||
|
}
|
||||||
|
const bool b = 0;
|
||||||
|
constexpr int g(int i) {
|
||||||
|
if consteval {
|
||||||
|
return f(i);
|
||||||
|
} else {
|
||||||
|
return i;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
int main() {
|
||||||
|
return g(1);
|
||||||
|
}
|
23
gcc/testsuite/g++.dg/cpp2a/consteval-prop21.C
Normal file
23
gcc/testsuite/g++.dg/cpp2a/consteval-prop21.C
Normal file
|
@ -0,0 +1,23 @@
|
||||||
|
// PR c++/115986
|
||||||
|
// { dg-do compile { target c++20 } }
|
||||||
|
|
||||||
|
template <typename T>
|
||||||
|
constexpr int b(T) {
|
||||||
|
return 0;
|
||||||
|
}
|
||||||
|
consteval
|
||||||
|
#ifdef __SIZEOF_INT128__
|
||||||
|
__uint128_t
|
||||||
|
#else
|
||||||
|
unsigned long long
|
||||||
|
#endif
|
||||||
|
operator"" _c(const char*) { return 0; }
|
||||||
|
constexpr char e() {
|
||||||
|
long f = true ? 0 : b(long(1));
|
||||||
|
return b(f);
|
||||||
|
}
|
||||||
|
template <typename>
|
||||||
|
void d() {
|
||||||
|
0_c;
|
||||||
|
static_assert(e());
|
||||||
|
}
|
22
gcc/testsuite/g++.dg/cpp2a/constexpr-init23.C
Normal file
22
gcc/testsuite/g++.dg/cpp2a/constexpr-init23.C
Normal file
|
@ -0,0 +1,22 @@
|
||||||
|
// PR c++/115900
|
||||||
|
// { dg-do compile { target c++20 } }
|
||||||
|
|
||||||
|
struct A {
|
||||||
|
char m;
|
||||||
|
constexpr A() { m = 0; }
|
||||||
|
};
|
||||||
|
|
||||||
|
struct C {
|
||||||
|
constexpr C(){ };
|
||||||
|
};
|
||||||
|
|
||||||
|
struct B : C {
|
||||||
|
A a;
|
||||||
|
constexpr B() {}
|
||||||
|
};
|
||||||
|
|
||||||
|
struct D : B { };
|
||||||
|
|
||||||
|
static constexpr A a;
|
||||||
|
static constexpr B b;
|
||||||
|
static constexpr D d;
|
20
gcc/testsuite/gcc.dg/torture/pr116057.c
Normal file
20
gcc/testsuite/gcc.dg/torture/pr116057.c
Normal file
|
@ -0,0 +1,20 @@
|
||||||
|
/* { dg-do run } */
|
||||||
|
/* { dg-additional-options "-Wno-psabi" } */
|
||||||
|
|
||||||
|
#define vect8 __attribute__((vector_size(8)))
|
||||||
|
|
||||||
|
vect8 int __attribute__((noipa))
|
||||||
|
f(int a)
|
||||||
|
{
|
||||||
|
int b;
|
||||||
|
vect8 int t={1,1};
|
||||||
|
if(a) return t;
|
||||||
|
return (vect8 int){0, b};
|
||||||
|
}
|
||||||
|
|
||||||
|
int main ()
|
||||||
|
{
|
||||||
|
if (f(0)[0] != 0)
|
||||||
|
__builtin_abort ();
|
||||||
|
return 0;
|
||||||
|
}
|
22
gcc/testsuite/gcc.target/i386/pr115978-1.c
Normal file
22
gcc/testsuite/gcc.target/i386/pr115978-1.c
Normal file
|
@ -0,0 +1,22 @@
|
||||||
|
/* { dg-do run } */
|
||||||
|
/* { dg-options "-O2 -march=native" } */
|
||||||
|
|
||||||
|
int
|
||||||
|
main ()
|
||||||
|
{
|
||||||
|
if (__builtin_cpu_supports ("apxf"))
|
||||||
|
{
|
||||||
|
#ifdef __x86_64__
|
||||||
|
# ifndef __APX_F__
|
||||||
|
__builtin_abort ();
|
||||||
|
# endif
|
||||||
|
#else
|
||||||
|
# ifdef __APX_F__
|
||||||
|
__builtin_abort ();
|
||||||
|
# endif
|
||||||
|
#endif
|
||||||
|
return 0;
|
||||||
|
}
|
||||||
|
|
||||||
|
return 0;
|
||||||
|
}
|
6
gcc/testsuite/gcc.target/i386/pr115978-2.c
Normal file
6
gcc/testsuite/gcc.target/i386/pr115978-2.c
Normal file
|
@ -0,0 +1,6 @@
|
||||||
|
/* { dg-do compile } */
|
||||||
|
/* { dg-options "-O2 -march=native -mno-apxf" } */
|
||||||
|
|
||||||
|
#ifdef __APX_F__
|
||||||
|
# error APX_F should be disabled
|
||||||
|
#endif
|
|
@ -762,6 +762,17 @@ likely_value (gimple *stmt)
|
||||||
continue;
|
continue;
|
||||||
if (is_gimple_min_invariant (op))
|
if (is_gimple_min_invariant (op))
|
||||||
has_constant_operand = true;
|
has_constant_operand = true;
|
||||||
|
else if (TREE_CODE (op) == CONSTRUCTOR)
|
||||||
|
{
|
||||||
|
unsigned j;
|
||||||
|
tree val;
|
||||||
|
FOR_EACH_CONSTRUCTOR_VALUE (CONSTRUCTOR_ELTS (op), j, val)
|
||||||
|
if (CONSTANT_CLASS_P (val))
|
||||||
|
{
|
||||||
|
has_constant_operand = true;
|
||||||
|
break;
|
||||||
|
}
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
if (has_constant_operand)
|
if (has_constant_operand)
|
||||||
|
|
|
@ -1,3 +1,7 @@
|
||||||
|
2024-08-01 Release Manager
|
||||||
|
|
||||||
|
* GCC 14.2.0 released.
|
||||||
|
|
||||||
2024-05-07 Release Manager
|
2024-05-07 Release Manager
|
||||||
|
|
||||||
* GCC 14.1.0 released.
|
* GCC 14.1.0 released.
|
||||||
|
|
|
@ -1,3 +1,7 @@
|
||||||
|
2024-08-01 Release Manager
|
||||||
|
|
||||||
|
* GCC 14.2.0 released.
|
||||||
|
|
||||||
2024-05-07 Release Manager
|
2024-05-07 Release Manager
|
||||||
|
|
||||||
* GCC 14.1.0 released.
|
* GCC 14.1.0 released.
|
||||||
|
|
|
@ -1,3 +1,7 @@
|
||||||
|
2024-08-01 Release Manager
|
||||||
|
|
||||||
|
* GCC 14.2.0 released.
|
||||||
|
|
||||||
2024-05-07 Release Manager
|
2024-05-07 Release Manager
|
||||||
|
|
||||||
* GCC 14.1.0 released.
|
* GCC 14.1.0 released.
|
||||||
|
|
|
@ -1,3 +1,7 @@
|
||||||
|
2024-08-01 Release Manager
|
||||||
|
|
||||||
|
* GCC 14.2.0 released.
|
||||||
|
|
||||||
2024-05-07 Release Manager
|
2024-05-07 Release Manager
|
||||||
|
|
||||||
* GCC 14.1.0 released.
|
* GCC 14.1.0 released.
|
||||||
|
|
|
@ -1,3 +1,7 @@
|
||||||
|
2024-08-01 Release Manager
|
||||||
|
|
||||||
|
* GCC 14.2.0 released.
|
||||||
|
|
||||||
2024-05-07 Release Manager
|
2024-05-07 Release Manager
|
||||||
|
|
||||||
* GCC 14.1.0 released.
|
* GCC 14.1.0 released.
|
||||||
|
|
|
@ -1,3 +1,7 @@
|
||||||
|
2024-08-01 Release Manager
|
||||||
|
|
||||||
|
* GCC 14.2.0 released.
|
||||||
|
|
||||||
2024-05-07 Release Manager
|
2024-05-07 Release Manager
|
||||||
|
|
||||||
* GCC 14.1.0 released.
|
* GCC 14.1.0 released.
|
||||||
|
|
|
@ -1,3 +1,7 @@
|
||||||
|
2024-08-01 Release Manager
|
||||||
|
|
||||||
|
* GCC 14.2.0 released.
|
||||||
|
|
||||||
2024-05-07 Release Manager
|
2024-05-07 Release Manager
|
||||||
|
|
||||||
* GCC 14.1.0 released.
|
* GCC 14.1.0 released.
|
||||||
|
|
|
@ -1,3 +1,7 @@
|
||||||
|
2024-08-01 Release Manager
|
||||||
|
|
||||||
|
* GCC 14.2.0 released.
|
||||||
|
|
||||||
2024-05-07 Release Manager
|
2024-05-07 Release Manager
|
||||||
|
|
||||||
* GCC 14.1.0 released.
|
* GCC 14.1.0 released.
|
||||||
|
|
|
@ -1,3 +1,7 @@
|
||||||
|
2024-08-01 Release Manager
|
||||||
|
|
||||||
|
* GCC 14.2.0 released.
|
||||||
|
|
||||||
2024-05-07 Release Manager
|
2024-05-07 Release Manager
|
||||||
|
|
||||||
* GCC 14.1.0 released.
|
* GCC 14.1.0 released.
|
||||||
|
|
|
@ -1,3 +1,7 @@
|
||||||
|
2024-08-01 Release Manager
|
||||||
|
|
||||||
|
* GCC 14.2.0 released.
|
||||||
|
|
||||||
2024-05-07 Release Manager
|
2024-05-07 Release Manager
|
||||||
|
|
||||||
* GCC 14.1.0 released.
|
* GCC 14.1.0 released.
|
||||||
|
|
|
@ -1,3 +1,7 @@
|
||||||
|
2024-08-01 Release Manager
|
||||||
|
|
||||||
|
* GCC 14.2.0 released.
|
||||||
|
|
||||||
2024-05-07 Release Manager
|
2024-05-07 Release Manager
|
||||||
|
|
||||||
* GCC 14.1.0 released.
|
* GCC 14.1.0 released.
|
||||||
|
|
|
@ -1,3 +1,7 @@
|
||||||
|
2024-08-01 Release Manager
|
||||||
|
|
||||||
|
* GCC 14.2.0 released.
|
||||||
|
|
||||||
2024-05-07 Release Manager
|
2024-05-07 Release Manager
|
||||||
|
|
||||||
* GCC 14.1.0 released.
|
* GCC 14.1.0 released.
|
||||||
|
|
|
@ -1,3 +1,7 @@
|
||||||
|
2024-08-01 Release Manager
|
||||||
|
|
||||||
|
* GCC 14.2.0 released.
|
||||||
|
|
||||||
2024-06-21 Wilco Dijkstra <wilco.dijkstra@arm.com>
|
2024-06-21 Wilco Dijkstra <wilco.dijkstra@arm.com>
|
||||||
|
|
||||||
Backported from master:
|
Backported from master:
|
||||||
|
|
|
@ -1,3 +1,7 @@
|
||||||
|
2024-08-01 Release Manager
|
||||||
|
|
||||||
|
* GCC 14.2.0 released.
|
||||||
|
|
||||||
2024-06-01 Georg-Johann Lay <avr@gjlay.de>
|
2024-06-01 Georg-Johann Lay <avr@gjlay.de>
|
||||||
|
|
||||||
Backported from master:
|
Backported from master:
|
||||||
|
|
|
@ -1,3 +1,7 @@
|
||||||
|
2024-08-01 Release Manager
|
||||||
|
|
||||||
|
* GCC 14.2.0 released.
|
||||||
|
|
||||||
2024-05-07 Release Manager
|
2024-05-07 Release Manager
|
||||||
|
|
||||||
* GCC 14.1.0 released.
|
* GCC 14.1.0 released.
|
||||||
|
|
|
@ -1,3 +1,7 @@
|
||||||
|
2024-08-01 Release Manager
|
||||||
|
|
||||||
|
* GCC 14.2.0 released.
|
||||||
|
|
||||||
2024-05-07 Release Manager
|
2024-05-07 Release Manager
|
||||||
|
|
||||||
* GCC 14.1.0 released.
|
* GCC 14.1.0 released.
|
||||||
|
|
|
@ -1,3 +1,7 @@
|
||||||
|
2024-08-01 Release Manager
|
||||||
|
|
||||||
|
* GCC 14.2.0 released.
|
||||||
|
|
||||||
2024-05-07 Release Manager
|
2024-05-07 Release Manager
|
||||||
|
|
||||||
* GCC 14.1.0 released.
|
* GCC 14.1.0 released.
|
||||||
|
|
|
@ -1,3 +1,7 @@
|
||||||
|
2024-08-01 Release Manager
|
||||||
|
|
||||||
|
* GCC 14.2.0 released.
|
||||||
|
|
||||||
2024-05-07 Jakub Jelinek <jakub@redhat.com>
|
2024-05-07 Jakub Jelinek <jakub@redhat.com>
|
||||||
|
|
||||||
Backported from master:
|
Backported from master:
|
||||||
|
|
|
@ -1,3 +1,7 @@
|
||||||
|
2024-08-01 Release Manager
|
||||||
|
|
||||||
|
* GCC 14.2.0 released.
|
||||||
|
|
||||||
2024-05-07 Release Manager
|
2024-05-07 Release Manager
|
||||||
|
|
||||||
* GCC 14.1.0 released.
|
* GCC 14.1.0 released.
|
||||||
|
|
|
@ -1,3 +1,7 @@
|
||||||
|
2024-08-01 Release Manager
|
||||||
|
|
||||||
|
* GCC 14.2.0 released.
|
||||||
|
|
||||||
2024-05-07 Release Manager
|
2024-05-07 Release Manager
|
||||||
|
|
||||||
* GCC 14.1.0 released.
|
* GCC 14.1.0 released.
|
||||||
|
|
|
@ -1,3 +1,7 @@
|
||||||
|
2024-08-01 Release Manager
|
||||||
|
|
||||||
|
* GCC 14.2.0 released.
|
||||||
|
|
||||||
2024-05-07 Release Manager
|
2024-05-07 Release Manager
|
||||||
|
|
||||||
* GCC 14.1.0 released.
|
* GCC 14.1.0 released.
|
||||||
|
|
|
@ -1,3 +1,7 @@
|
||||||
|
2024-08-01 Release Manager
|
||||||
|
|
||||||
|
* GCC 14.2.0 released.
|
||||||
|
|
||||||
2024-05-07 Release Manager
|
2024-05-07 Release Manager
|
||||||
|
|
||||||
* GCC 14.1.0 released.
|
* GCC 14.1.0 released.
|
||||||
|
|
|
@ -1,3 +1,7 @@
|
||||||
|
2024-08-01 Release Manager
|
||||||
|
|
||||||
|
* GCC 14.2.0 released.
|
||||||
|
|
||||||
2024-05-07 Release Manager
|
2024-05-07 Release Manager
|
||||||
|
|
||||||
* GCC 14.1.0 released.
|
* GCC 14.1.0 released.
|
||||||
|
|
|
@ -1,3 +1,7 @@
|
||||||
|
2024-08-01 Release Manager
|
||||||
|
|
||||||
|
* GCC 14.2.0 released.
|
||||||
|
|
||||||
2024-05-07 Release Manager
|
2024-05-07 Release Manager
|
||||||
|
|
||||||
* GCC 14.1.0 released.
|
* GCC 14.1.0 released.
|
||||||
|
|
|
@ -1,3 +1,7 @@
|
||||||
|
2024-08-01 Release Manager
|
||||||
|
|
||||||
|
* GCC 14.2.0 released.
|
||||||
|
|
||||||
2024-05-07 Release Manager
|
2024-05-07 Release Manager
|
||||||
|
|
||||||
* GCC 14.1.0 released.
|
* GCC 14.1.0 released.
|
||||||
|
|
|
@ -1,3 +1,7 @@
|
||||||
|
2024-08-01 Release Manager
|
||||||
|
|
||||||
|
* GCC 14.2.0 released.
|
||||||
|
|
||||||
2024-05-07 Release Manager
|
2024-05-07 Release Manager
|
||||||
|
|
||||||
* GCC 14.1.0 released.
|
* GCC 14.1.0 released.
|
||||||
|
|
|
@ -1,3 +1,7 @@
|
||||||
|
2024-08-01 Release Manager
|
||||||
|
|
||||||
|
* GCC 14.2.0 released.
|
||||||
|
|
||||||
2024-07-23 Jonathan Wakely <jwakely@redhat.com>
|
2024-07-23 Jonathan Wakely <jwakely@redhat.com>
|
||||||
|
|
||||||
Backported from master:
|
Backported from master:
|
||||||
|
|
|
@ -1,3 +1,7 @@
|
||||||
|
2024-08-01 Release Manager
|
||||||
|
|
||||||
|
* GCC 14.2.0 released.
|
||||||
|
|
||||||
2024-05-07 Release Manager
|
2024-05-07 Release Manager
|
||||||
|
|
||||||
* GCC 14.1.0 released.
|
* GCC 14.1.0 released.
|
||||||
|
|
|
@ -1,3 +1,7 @@
|
||||||
|
2024-08-01 Release Manager
|
||||||
|
|
||||||
|
* GCC 14.2.0 released.
|
||||||
|
|
||||||
2024-05-07 Release Manager
|
2024-05-07 Release Manager
|
||||||
|
|
||||||
* GCC 14.1.0 released.
|
* GCC 14.1.0 released.
|
||||||
|
|
|
@ -1,3 +1,7 @@
|
||||||
|
2024-08-01 Release Manager
|
||||||
|
|
||||||
|
* GCC 14.2.0 released.
|
||||||
|
|
||||||
2024-05-07 Release Manager
|
2024-05-07 Release Manager
|
||||||
|
|
||||||
* GCC 14.1.0 released.
|
* GCC 14.1.0 released.
|
||||||
|
|
|
@ -1,3 +1,7 @@
|
||||||
|
2024-08-01 Release Manager
|
||||||
|
|
||||||
|
* GCC 14.2.0 released.
|
||||||
|
|
||||||
2024-05-07 Release Manager
|
2024-05-07 Release Manager
|
||||||
|
|
||||||
* GCC 14.1.0 released.
|
* GCC 14.1.0 released.
|
||||||
|
|
Loading…
Add table
Add a link
Reference in a new issue