diff options
Diffstat (limited to 'gcc')
-rw-r--r-- | gcc/ChangeLog | 85 | ||||
-rw-r--r-- | gcc/DATESTAMP | 2 | ||||
-rw-r--r-- | gcc/cp/ChangeLog | 12 | ||||
-rw-r--r-- | gcc/cp/decl2.cc | 4 | ||||
-rw-r--r-- | gcc/cp/pt.cc | 16 | ||||
-rw-r--r-- | gcc/testsuite/ChangeLog | 155 | ||||
-rw-r--r-- | gcc/testsuite/g++.dg/cpp1y/constexpr-recursion3.C | 15 | ||||
-rw-r--r-- | gcc/testsuite/gcc.dg/pr87600.h | 2 | ||||
-rw-r--r-- | gcc/testsuite/gcc.dg/pr89313.c | 2 | ||||
-rw-r--r-- | gcc/testsuite/gcc.target/powerpc/block-cmp-8.c | 2 |
10 files changed, 286 insertions, 9 deletions
diff --git a/gcc/ChangeLog b/gcc/ChangeLog index 5aff75f..f4aa01b 100644 --- a/gcc/ChangeLog +++ b/gcc/ChangeLog @@ -1,3 +1,88 @@ +2025-05-09 Eric Botcazou <ebotcazou@adacore.com> + + * vr-values.cc (simplify_using_ranges::simplify) <BIT_AND_EXPR>: + Do not call simplify_bit_ops_using_ranges for boolean types whose + precision is not 1. + +2025-05-09 Richard Biener <rguenther@suse.de> + + PR tree-optimization/114166 + * tree-vect-stmts.cc (vectorizable_operation): Lower also + bitwise operations on word-mode vectors. + +2025-05-09 Richard Biener <rguenther@suse.de> + + * tree-vect-stmts.cc (vectorizable_operation): Remve non-SLP + path. + +2025-05-09 Andrew Pinski <quic_apinski@quicinc.com> + + * gimple.h (gimple_cond_true_canonical_p): New function. + (gimple_cond_false_canonical_p): New function. + * gimple-fold.cc (replace_stmt_with_simplification): Return + false if replacing the operands of GIMPLE_COND with an INTEGER_CST + and already in canonical form. + +2025-05-09 Richard Biener <rguenther@suse.de> + + PR rtl-optimization/120182 + * dse.cc (canon_address): Constant addresses have no + separate store group. + +2025-05-09 Richard Biener <rguenther@suse.de> + + PR tree-optimization/119960 + * tree-vect-slp.cc (vect_slp_can_convert_to_external): + Handle cases where defs from multiple BBs are ordered + by their dominance relation. + +2025-05-09 Jørgen Kvalsvik <j@lambda.is> + + PR gcov-profile/120086 + * gcov.cc (print_prime_path_lines): Use unsigned, format with + %u. + (print_prime_path_source): Likewise. + (output_path_coverage): Format with HOST_SIZE_T_PRINT_UNSIGNED, + use unsigned for pathno. + +2025-05-09 Jennifer Schmitz <jschmitz@nvidia.com> + + * config/aarch64/aarch64-sve.md (*aarch64_sve_ptrue<mode>_ldr_str): + Add define_insn_and_split to fold predicated SVE loads/stores with + ptrue predicates to unpredicated instructions. + +2025-05-09 David Malcolm <dmalcolm@redhat.com> + + PR other/116792 + * Makefile.in (OBJS-libcommon): Add diagnostic-format-html.o. + * diagnostic-format-html.cc: Move here from + testsuite/gcc.dg/plugin/diagnostic_plugin_xhtml_format.cc. + Simplify includes. Rename "xhtml" to "html" throughout. + (write_escaped_text): Drop. + (class xhtml_stream_output_format): Drop. + (class html_file_output_format): Reimplement using + diagnostic_output_file. + (diagnostic_output_format_init_xhtml): Drop. + (diagnostic_output_format_init_xhtml_stderr): Drop. + (diagnostic_output_format_init_xhtml_file): Drop. + (diagnostic_output_format_open_html_file): New. + (make_html_sink): New. + (xhtml_format_selftests): Convert to... + (diagnostic_format_html_cc_tests): ...this. + (plugin_is_GPL_compatible): Drop. + (plugin_init): Drop. + * diagnostic-format-html.h: New file. + * doc/invoke.texi (-fdiagnostics-add-output=): Add + "experimental-html" scheme. + * opts-diagnostic.cc: Include "diagnostic-format-html.h". + (class html_scheme_handler): New. + (output_factory::output_factory): Add html_scheme_handler. + (html_scheme_handler::make_sink): New. + * selftest-run-tests.cc (selftest::run_tests): Call the new + selftests. + * selftest.h (selftest::diagnostic_format_html_cc_tests): New + decl. + 2025-05-08 Andrew Pinski <quic_apinski@quicinc.com> * gimple-fold.cc (replace_stmt_with_simplification): Return false diff --git a/gcc/DATESTAMP b/gcc/DATESTAMP index 62c0f83..21a86ae 100644 --- a/gcc/DATESTAMP +++ b/gcc/DATESTAMP @@ -1 +1 @@ -20250509 +20250510 diff --git a/gcc/cp/ChangeLog b/gcc/cp/ChangeLog index df57002..51672a7 100644 --- a/gcc/cp/ChangeLog +++ b/gcc/cp/ChangeLog @@ -1,3 +1,15 @@ +2025-05-09 Jason Merrill <jason@redhat.com> + + * decl2.cc (determine_visibility): Ignore args for friend templates. + +2025-05-09 Jason Merrill <jason@redhat.com> + + PR c++/99599 + PR c++/120185 + * class.cc (type_has_converting_constructor): Handle null parm. + * pt.cc (fn_type_unification): Skip early non-dep checking if + no concepts. + 2025-05-08 Jason Merrill <jason@redhat.com> PR c++/99599 diff --git a/gcc/cp/decl2.cc b/gcc/cp/decl2.cc index 21156f1..15db1d6 100644 --- a/gcc/cp/decl2.cc +++ b/gcc/cp/decl2.cc @@ -3160,7 +3160,9 @@ determine_visibility (tree decl) && !attr) { int depth = TMPL_ARGS_DEPTH (args); - if (DECL_VISIBILITY_SPECIFIED (decl)) + if (DECL_UNINSTANTIATED_TEMPLATE_FRIEND_P (TI_TEMPLATE (tinfo))) + /* Class template args don't affect template friends. */; + else if (DECL_VISIBILITY_SPECIFIED (decl)) { /* A class template member with explicit visibility overrides the class visibility, so we need to apply diff --git a/gcc/cp/pt.cc b/gcc/cp/pt.cc index 09f74a2..0d64a1c 100644 --- a/gcc/cp/pt.cc +++ b/gcc/cp/pt.cc @@ -17477,10 +17477,18 @@ tsubst_baselink (tree baselink, tree object_type, if (!baselink) { - if ((complain & tf_error) - && constructor_name_p (name, qualifying_scope)) - error ("cannot call constructor %<%T::%D%> directly", - qualifying_scope, name); + if (complain & tf_error) + { + if (constructor_name_p (name, qualifying_scope)) + error ("cannot call constructor %<%T::%D%> directly", + qualifying_scope, name); + else + /* Lookup succeeded at parse time, but failed during + instantiation; must be because we're trying to refer to it + while forming its declaration (c++/120204). */ + error ("declaration of %<%T::%D%> depends on itself", + qualifying_scope, name); + } return error_mark_node; } diff --git a/gcc/testsuite/ChangeLog b/gcc/testsuite/ChangeLog index 5ba940a..ce230e0 100644 --- a/gcc/testsuite/ChangeLog +++ b/gcc/testsuite/ChangeLog @@ -1,3 +1,158 @@ +2025-05-09 Jason Merrill <jason@redhat.com> + + PR c++/99599 + PR c++/120185 + * g++.dg/cpp2a/concepts-nondep6.C: New test. + +2025-05-09 Eric Botcazou <ebotcazou@adacore.com> + + * gnat.dg/opt106.adb: New test. + * gnat.dg/opt106_pkg1.ads, gnat.dg/opt106_pkg1.adb: New helper. + * gnat.dg/opt106_pkg2.ads, gnat.dg/opt106_pkg2.adb: Likewise. + +2025-05-09 Richard Biener <rguenther@suse.de> + + PR rtl-optimization/120182 + * gcc.dg/torture/pr120182.c: New testcase. + +2025-05-09 Richard Biener <rguenther@suse.de> + + PR tree-optimization/119960 + * gcc.dg/vect/bb-slp-pr119960-1.c: New testcase. + +2025-05-09 Christophe Lyon <christophe.lyon@linaro.org> + + * g++.dg/cpp2a/constinit16.C: Require tls. + +2025-05-09 Christophe Lyon <christophe.lyon@linaro.org> + + * g++.dg/cpp2a/decomp2.C: Require tls_runtime. + +2025-05-09 Jiawei <jiawei@iscas.ac.cn> + + * gcc.dg/pr119160.c: Limit backends. + +2025-05-09 Jennifer Schmitz <jschmitz@nvidia.com> + + * gcc.target/aarch64/sve/ptrue_ldr_str.c: New test. + * gcc.target/aarch64/sve/acle/general/attributes_6.c: Adjust + expected outcome. + * gcc.target/aarch64/sve/cost_model_14.c: Adjust expected outcome. + * gcc.target/aarch64/sve/cost_model_4.c: Adjust expected outcome. + * gcc.target/aarch64/sve/cost_model_5.c: Adjust expected outcome. + * gcc.target/aarch64/sve/cost_model_6.c: Adjust expected outcome. + * gcc.target/aarch64/sve/cost_model_7.c: Adjust expected outcome. + * gcc.target/aarch64/sve/pcs/varargs_2_f16.c: Adjust expected outcome. + * gcc.target/aarch64/sve/pcs/varargs_2_f32.c: Adjust expected outcome. + * gcc.target/aarch64/sve/pcs/varargs_2_f64.c: Adjust expected outcome. + * gcc.target/aarch64/sve/pcs/varargs_2_mf8.c: Adjust expected outcome. + * gcc.target/aarch64/sve/pcs/varargs_2_s16.c: Adjust expected outcome. + * gcc.target/aarch64/sve/pcs/varargs_2_s32.c: Adjust expected outcome. + * gcc.target/aarch64/sve/pcs/varargs_2_s64.c: Adjust expected outcome. + * gcc.target/aarch64/sve/pcs/varargs_2_s8.c: Adjust expected outcome. + * gcc.target/aarch64/sve/pcs/varargs_2_u16.c: Adjust expected outcome. + * gcc.target/aarch64/sve/pcs/varargs_2_u32.c: Adjust expected outcome. + * gcc.target/aarch64/sve/pcs/varargs_2_u64.c: Adjust expected outcome. + * gcc.target/aarch64/sve/pcs/varargs_2_u8.c: Adjust expected outcome. + * gcc.target/aarch64/sve/peel_ind_2.c: Adjust expected outcome. + * gcc.target/aarch64/sve/single_1.c: Adjust expected outcome. + * gcc.target/aarch64/sve/single_2.c: Adjust expected outcome. + * gcc.target/aarch64/sve/single_3.c: Adjust expected outcome. + * gcc.target/aarch64/sve/single_4.c: Adjust expected outcome. + +2025-05-09 David Malcolm <dmalcolm@redhat.com> + + PR other/116792 + * gcc.dg/plugin/diagnostic_plugin_xhtml_format.cc: Move to + gcc/diagnostic-format-html.cc. + * gcc.dg/html-output/html-output.exp: New support script. + * gcc.dg/html-output/missing-semicolon.c: New test. + * gcc.dg/html-output/missing-semicolon.py: New test script. + * gcc.dg/plugin/diagnostic-test-xhtml-1.c: Deleted test. + * gcc.dg/plugin/plugin.exp (plugin_test_list): Drop moved plugin + and its deleted test. + * lib/gcc-dg.exp (load_lib): Add load_lib of scanhtml.exp. + * lib/htmltest.py: New support script. + * lib/scanhtml.exp: New support script, based on scansarif.exp. + +2025-05-09 Pan Li <pan2.li@intel.com> + + * gcc.target/riscv/rvv/autovec/vx_vf/vx_vadd-6-i16.c: New test. + * gcc.target/riscv/rvv/autovec/vx_vf/vx_vadd-6-i32.c: New test. + * gcc.target/riscv/rvv/autovec/vx_vf/vx_vadd-6-i64.c: New test. + * gcc.target/riscv/rvv/autovec/vx_vf/vx_vadd-6-i8.c: New test. + * gcc.target/riscv/rvv/autovec/vx_vf/vx_vadd-6-u16.c: New test. + * gcc.target/riscv/rvv/autovec/vx_vf/vx_vadd-6-u32.c: New test. + * gcc.target/riscv/rvv/autovec/vx_vf/vx_vadd-6-u64.c: New test. + * gcc.target/riscv/rvv/autovec/vx_vf/vx_vadd-6-u8.c: New test. + +2025-05-09 Pan Li <pan2.li@intel.com> + + * gcc.target/riscv/rvv/autovec/vx_vf/vx_vadd-5-i16.c: New test. + * gcc.target/riscv/rvv/autovec/vx_vf/vx_vadd-5-i32.c: New test. + * gcc.target/riscv/rvv/autovec/vx_vf/vx_vadd-5-i64.c: New test. + * gcc.target/riscv/rvv/autovec/vx_vf/vx_vadd-5-i8.c: New test. + * gcc.target/riscv/rvv/autovec/vx_vf/vx_vadd-5-u16.c: New test. + * gcc.target/riscv/rvv/autovec/vx_vf/vx_vadd-5-u32.c: New test. + * gcc.target/riscv/rvv/autovec/vx_vf/vx_vadd-5-u64.c: New test. + * gcc.target/riscv/rvv/autovec/vx_vf/vx_vadd-5-u8.c: New test. + +2025-05-09 Pan Li <pan2.li@intel.com> + + * gcc.target/riscv/rvv/autovec/vx_vf/vx_binary.h: Add test + helper macros. + * gcc.target/riscv/rvv/autovec/vx_vf/vx_vadd-4-i16.c: New test. + * gcc.target/riscv/rvv/autovec/vx_vf/vx_vadd-4-i32.c: New test. + * gcc.target/riscv/rvv/autovec/vx_vf/vx_vadd-4-i64.c: New test. + * gcc.target/riscv/rvv/autovec/vx_vf/vx_vadd-4-i8.c: New test. + * gcc.target/riscv/rvv/autovec/vx_vf/vx_vadd-4-u16.c: New test. + * gcc.target/riscv/rvv/autovec/vx_vf/vx_vadd-4-u32.c: New test. + * gcc.target/riscv/rvv/autovec/vx_vf/vx_vadd-4-u64.c: New test. + * gcc.target/riscv/rvv/autovec/vx_vf/vx_vadd-4-u8.c: New test. + +2025-05-09 Pan Li <pan2.li@intel.com> + + * gcc.target/riscv/rvv/autovec/vx_vf/vx_binary.h: Rename VX_BINARY + to VX_BINARY_CASE_0 for underlying case 1. + * gcc.target/riscv/rvv/autovec/vx_vf/vx_vadd-1-i16.c: Take the + new name for test. + * gcc.target/riscv/rvv/autovec/vx_vf/vx_vadd-1-i32.c: Ditto + * gcc.target/riscv/rvv/autovec/vx_vf/vx_vadd-1-i64.c: Ditto + * gcc.target/riscv/rvv/autovec/vx_vf/vx_vadd-1-i8.c: Ditto + * gcc.target/riscv/rvv/autovec/vx_vf/vx_vadd-1-u16.c: Ditto + * gcc.target/riscv/rvv/autovec/vx_vf/vx_vadd-1-u32.c: Ditto + * gcc.target/riscv/rvv/autovec/vx_vf/vx_vadd-1-u64.c: Ditto + * gcc.target/riscv/rvv/autovec/vx_vf/vx_vadd-1-u8.c: Ditto + * gcc.target/riscv/rvv/autovec/vx_vf/vx_vadd-2-i16.c: Ditto + * gcc.target/riscv/rvv/autovec/vx_vf/vx_vadd-2-i32.c: Ditto + * gcc.target/riscv/rvv/autovec/vx_vf/vx_vadd-2-i64.c: Ditto + * gcc.target/riscv/rvv/autovec/vx_vf/vx_vadd-2-i8.c: Ditto + * gcc.target/riscv/rvv/autovec/vx_vf/vx_vadd-2-u16.c: Ditto + * gcc.target/riscv/rvv/autovec/vx_vf/vx_vadd-2-u32.c: Ditto + * gcc.target/riscv/rvv/autovec/vx_vf/vx_vadd-2-u64.c: Ditto + * gcc.target/riscv/rvv/autovec/vx_vf/vx_vadd-2-u8.c: Ditto + * gcc.target/riscv/rvv/autovec/vx_vf/vx_vadd-3-i16.c: Ditto + * gcc.target/riscv/rvv/autovec/vx_vf/vx_vadd-3-i32.c: Ditto + * gcc.target/riscv/rvv/autovec/vx_vf/vx_vadd-3-i64.c: Ditto + * gcc.target/riscv/rvv/autovec/vx_vf/vx_vadd-3-i8.c: Ditto + * gcc.target/riscv/rvv/autovec/vx_vf/vx_vadd-3-u16.c: Ditto + * gcc.target/riscv/rvv/autovec/vx_vf/vx_vadd-3-u32.c: Ditto + * gcc.target/riscv/rvv/autovec/vx_vf/vx_vadd-3-u64.c: Ditto + * gcc.target/riscv/rvv/autovec/vx_vf/vx_vadd-3-u8.c: Ditto + * gcc.target/riscv/rvv/autovec/vx_vf/vx_vadd-run-1-i16.c: Ditto + * gcc.target/riscv/rvv/autovec/vx_vf/vx_vadd-run-1-i32.c: Ditto + * gcc.target/riscv/rvv/autovec/vx_vf/vx_vadd-run-1-i64.c: Ditto + * gcc.target/riscv/rvv/autovec/vx_vf/vx_vadd-run-1-i8.c: Ditto + * gcc.target/riscv/rvv/autovec/vx_vf/vx_vadd-run-1-u16.c: Ditto + * gcc.target/riscv/rvv/autovec/vx_vf/vx_vadd-run-1-u32.c: Ditto + * gcc.target/riscv/rvv/autovec/vx_vf/vx_vadd-run-1-u64.c: Ditto + * gcc.target/riscv/rvv/autovec/vx_vf/vx_vadd-run-1-u8.c: Ditto + +2025-05-09 Pan Li <pan2.li@intel.com> + + * gcc.target/riscv/rvv/rvv.exp: Separate test running of + rvv vx_vf. + 2025-05-08 Harald Anlauf <anlauf@gmx.de> PR fortran/120179 diff --git a/gcc/testsuite/g++.dg/cpp1y/constexpr-recursion3.C b/gcc/testsuite/g++.dg/cpp1y/constexpr-recursion3.C new file mode 100644 index 0000000..cadbdf0 --- /dev/null +++ b/gcc/testsuite/g++.dg/cpp1y/constexpr-recursion3.C @@ -0,0 +1,15 @@ +// PR c++/120204 +// { dg-do compile { target c++14 } } + +template<class T, int t> +struct array{}; + +template <typename... TArgs> struct ILEArglist { + using Sizes = array<int, sizeof...(TArgs)>; + static constexpr int size() { // { dg-bogus "not usable" } + Sizes &offsets_c = offsets; // { dg-error "depends on itself" } + return 0; + } + array<char, size()> offsets(); // { dg-error "constant expression" } +}; +auto arglist = ILEArglist<>(); diff --git a/gcc/testsuite/gcc.dg/pr87600.h b/gcc/testsuite/gcc.dg/pr87600.h index af91f63..c89071eb 100644 --- a/gcc/testsuite/gcc.dg/pr87600.h +++ b/gcc/testsuite/gcc.dg/pr87600.h @@ -7,7 +7,7 @@ #elif defined (__i386__) # define REG1 "%eax" # define REG2 "%edx" -#elif defined (__powerpc__) || defined (__POWERPC__) +#elif defined (__powerpc__) || defined (__POWERPC__) || defined (__PPC__) # define REG1 "r3" # define REG2 "r4" #elif defined (__s390__) diff --git a/gcc/testsuite/gcc.dg/pr89313.c b/gcc/testsuite/gcc.dg/pr89313.c index 76cb091..7de64da 100644 --- a/gcc/testsuite/gcc.dg/pr89313.c +++ b/gcc/testsuite/gcc.dg/pr89313.c @@ -8,7 +8,7 @@ # define REG "r0" #elif defined (__i386__) # define REG "%eax" -#elif defined (__powerpc__) || defined (__POWERPC__) +#elif defined (__powerpc__) || defined (__POWERPC__) || defined (__PPC__) # define REG "r3" #elif defined (__s390__) # define REG "0" diff --git a/gcc/testsuite/gcc.target/powerpc/block-cmp-8.c b/gcc/testsuite/gcc.target/powerpc/block-cmp-8.c index 22a48c8..0f35ddd 100644 --- a/gcc/testsuite/gcc.target/powerpc/block-cmp-8.c +++ b/gcc/testsuite/gcc.target/powerpc/block-cmp-8.c @@ -1,6 +1,6 @@ /* { dg-do run { target ilp32 } } */ /* { dg-options "-O2 -mpowerpc64" } */ -/* { dg-require-effective-target has_arch_ppc64 } */ +/* { dg-require-effective-target powerpc64 } */ /* { dg-timeout-factor 2 } */ /* Verify memcmp on m32 mpowerpc64 */ |