diff options
Diffstat (limited to 'gcc')
| -rw-r--r-- | gcc/ChangeLog | 122 | ||||
| -rw-r--r-- | gcc/DATESTAMP | 2 | ||||
| -rw-r--r-- | gcc/Makefile.in | 1 | ||||
| -rw-r--r-- | gcc/c/ChangeLog | 11 | ||||
| -rw-r--r-- | gcc/config/sol2.h | 6 | ||||
| -rw-r--r-- | gcc/cp/ChangeLog | 25 | ||||
| -rw-r--r-- | gcc/doc/tm.texi | 5 | ||||
| -rw-r--r-- | gcc/doc/tm.texi.in | 5 | ||||
| -rw-r--r-- | gcc/testsuite/ChangeLog | 110 | ||||
| -rw-r--r-- | gcc/testsuite/g++.dg/lookup/extern-c-redecl3.C | 8 | ||||
| -rw-r--r-- | gcc/testsuite/g++.dg/pid_t-1.C | 3 | ||||
| -rw-r--r-- | gcc/testsuite/g++.target/riscv/rvv/autovec/pr123074.C (renamed from gcc/testsuite/gcc.target/riscv/rvv/autovec/pr123074.C) | 0 | ||||
| -rw-r--r-- | gcc/testsuite/gcc.dg/pid_t-1.c | 19 | ||||
| -rw-r--r-- | gcc/testsuite/gcc.target/riscv/rvv/rvv.exp | 2 |
14 files changed, 309 insertions, 10 deletions
diff --git a/gcc/ChangeLog b/gcc/ChangeLog index e6da5b8..d4ef4f9 100644 --- a/gcc/ChangeLog +++ b/gcc/ChangeLog @@ -1,3 +1,125 @@ +2025-12-09 John Ericson <git@JohnEricson.me> + + * Makefile.in: No longer include TARGET_SYSTEM_ROOT in + libgcc.mvars. + +2025-12-09 John Ericson <git@JohnEricson.me> + + * Makefile.in:: Remove NO_PIE_CFLAGS logic, since it is now in + libgcc. + * configure: Regenerate. + * configure.ac: Remove the enable_default_pie substitution, since + libgcc now has its own logic. + +2025-12-09 Robin Dapp <rdapp@ventanamicro.com> + + PR tree-optimization/123074 + * tree-vect-loop.cc: Reset LOOP_VINFO_USING_SELECT_VL_P. + +2025-12-09 Pan Li <pan2.li@intel.com> + + * config/riscv/predicates.md: Append operator lt to + the comparison_swappable_operator. + * config/riscv/riscv-v.cc (get_swapped_cmp_rtx_code): Add + swappable operator lt handing. + +2025-12-09 Richard Biener <rguenther@suse.de> + + PR target/121230 + * config/i386/i386.cc (ix86_vector_costs::add_stmt_cost): + With FP mode and 387 math cost spill/reload. + +2025-12-09 Robin Dapp <rdapp@ventanamicro.com> + + * config/riscv/riscv.opt.urls: Regenerate. + +2025-12-09 Andrew Stubbs <ams@baylibre.com> + + * config/gcn/gcn.cc (gcn_init_cumulative_args): Only warn once. + Use "required" instead of "enabled" in the warning. + * config/gcn/mkoffload.cc (process_asm): Warn, don't error. + Use "required" instead of "on" in the warning. + +2025-12-09 Robin Dapp <rdapp@ventanamicro.com> + + PR tree-optimization/122635 + * gimple-fold.cc (enum mask_load_store_state): New enum. + (gimple_fold_partial_load_store_mem_ref): Only fold + "all active" loads/stores. + (partial_load_store_mask_state): New function to compute mask + state. + (gimple_fold_partial_load): Remove. + (gimple_fold_partial_load_store): New function. + (gimple_fold_partial_store): Remove. + (gimple_fold_call): Use new function. + +2025-12-09 Robin Dapp <rdapp@ventanamicro.com> + + * config/rs6000/predicates.md (lxvl_else_operand): New + predicate. + * config/rs6000/vsx.md: Add else operand. + * config/s390/predicates.md (vll_else_operand): New predicate. + * config/s390/vector.md: Add else operand. + * doc/md.texi: Document else operand. + * internal-fn.cc (internal_fn_len_index): Adjust IFN_LEN_LOAD. + (internal_fn_else_index): Add IFN_LEN_LOAD. + * optabs-tree.cc (target_supports_len_load_store_p): Get else + value for len_load. + * tree-vect-stmts.cc (vectorizable_load): Pun the else value + type. + +2025-12-09 Robin Dapp <rdapp@ventanamicro.com> + + * config/riscv/riscv-target-attr.cc (riscv_target_attr_parser::handle_max_vect): + New parser entry. + (riscv_target_attr_parser::update_settings): Set max-vect + option. + (riscv_process_one_target_attr): Change null-arg handling. + * config/riscv/riscv.cc (riscv_override_options_internal): Set + max-vect option. + * config/riscv/riscv.opt: Add -mmax-vectorization option. + * doc/extend.texi: Document new option. + * doc/invoke.texi: Ditto. + +2025-12-09 Robin Dapp <rdapp@ventanamicro.com> + + PR target/123022 + * config/riscv/vector.md: Add mode_idx attribute. + +2025-12-09 Robin Dapp <rdapp@ventanamicro.com> + + PR target/115325 + * config/riscv/riscv-c.cc (riscv_pragma_target_parse): New + function. + (riscv_register_pragmas): Register riscv_pragma_target_parse. + * config/riscv/riscv-protos.h (riscv_process_target_attr_for_pragma): + Declare. + (riscv_reset_previous_fndecl): Ditto. + * config/riscv/riscv-target-attr.cc (riscv_process_target_attr_for_pragma): + New function. + * config/riscv/riscv.cc (riscv_reset_previous_fndecl): Reset. + (riscv_option_save): New function. + (riscv_option_print): Ditto. + (riscv_get_interrupt_type): Adjust docs. + (TARGET_OPTION_SAVE): Implement. + (TARGET_OPTION_PRINT): Ditto. + * doc/extend.texi: Document that riscv can do target pragams. + +2025-12-09 Robin Dapp <rdapp@ventanamicro.com> + + * config/riscv/autovec.md (reduc_sbool_and_scal_<mode>): New + expander. + (reduc_sbool_ior_scal_<mode>): Ditto. + (reduc_sbool_xor_scal_<mode>): Ditto. + * config/riscv/riscv-protos.h (expand_mask_reduction): Declare. + * config/riscv/riscv-v.cc (expand_mask_reduction): New function. + +2025-12-09 Richard Biener <rguenther@suse.de> + + PR target/123027 + * config/i386/i386-expand.cc (ix86_expand_sse_fp_minmax): + With !HONOR_NANS we can handle LE by swapping and inverting. + 2025-12-08 Andrew Pinski <andrew.pinski@oss.qualcomm.com> PR tree-optimization/46555 diff --git a/gcc/DATESTAMP b/gcc/DATESTAMP index 4568345..4d0208f 100644 --- a/gcc/DATESTAMP +++ b/gcc/DATESTAMP @@ -1 +1 @@ -20251209 +20251210 diff --git a/gcc/Makefile.in b/gcc/Makefile.in index a9264bd..d623145 100644 --- a/gcc/Makefile.in +++ b/gcc/Makefile.in @@ -2503,7 +2503,6 @@ libgcc.mvars: config.status Makefile specs xgcc$(exeext) : > tmp-libgcc.mvars echo GCC_CFLAGS = '$(GCC_CFLAGS)' >> tmp-libgcc.mvars echo INHIBIT_LIBC_CFLAGS = '$(INHIBIT_LIBC_CFLAGS)' >> tmp-libgcc.mvars - echo TARGET_SYSTEM_ROOT = '$(TARGET_SYSTEM_ROOT)' >> tmp-libgcc.mvars mv tmp-libgcc.mvars libgcc.mvars diff --git a/gcc/c/ChangeLog b/gcc/c/ChangeLog index 5589389..8d3084e 100644 --- a/gcc/c/ChangeLog +++ b/gcc/c/ChangeLog @@ -1,3 +1,14 @@ +2025-12-09 Qing Zhao <qing.zhao@oracle.com> + + PR c/122982 + * c-typeck.cc (build_access_with_size_for_counted_by): Call + c_fully_fold on the first parameter. + +2025-12-09 Jakub Jelinek <jakub@redhat.com> + + PR c/123018 + * c-decl.cc (finish_struct): Diagnose bit-fields with vector type. + 2025-12-05 Richard Biener <rguenther@suse.de> * gimple-parser.cc (c_parser_gimple_postfix_expression): diff --git a/gcc/config/sol2.h b/gcc/config/sol2.h index 4e3199d..026d363 100644 --- a/gcc/config/sol2.h +++ b/gcc/config/sol2.h @@ -41,6 +41,12 @@ along with GCC; see the file COPYING3. If not see #undef WINT_TYPE_SIZE #define WINT_TYPE_SIZE 32 +/* Same for pid_t. See SCD 2.4.2, p. 6P-12, Figure 6-59 (64-bit). There's + no corresponding 32-bit definition, but this is what Solaris 8 + <sys/types.h> uses. */ + +#define PID_TYPE (TARGET_64BIT ? "int" : "long int") + #define SIG_ATOMIC_TYPE "int" /* ??? This definition of int8_t follows the system header but does diff --git a/gcc/cp/ChangeLog b/gcc/cp/ChangeLog index b4c2b70..bc8bb88 100644 --- a/gcc/cp/ChangeLog +++ b/gcc/cp/ChangeLog @@ -1,3 +1,28 @@ +2025-12-09 Nathaniel Shead <nathanieloshead@gmail.com> + + Revert: + 2025-12-09 Nathaniel Shead <nathanieloshead@gmail.com> + + PR c++/122819 + * decl.cc (start_preparsed_function): Use + DECL_TEMPLOID_INSTANTIATION instead of + DECL_TEMPLATE_INSTANTIATION to check vague linkage. + * decl2.cc (vague_linkage_p): Likewise. + (c_parse_final_cleanups): Simplify condition. + * semantics.cc (expand_or_defer_fn_1): Also check for temploid + friend functions. + +2025-12-09 Nathaniel Shead <nathanieloshead@gmail.com> + + PR c++/122819 + * decl.cc (start_preparsed_function): Use + DECL_TEMPLOID_INSTANTIATION instead of + DECL_TEMPLATE_INSTANTIATION to check vague linkage. + * decl2.cc (vague_linkage_p): Likewise. + (c_parse_final_cleanups): Simplify condition. + * semantics.cc (expand_or_defer_fn_1): Also check for temploid + friend functions. + 2025-12-08 Egas Ribeiro <egas.g.ribeiro@tecnico.ulisboa.pt> * pt.cc (tsubst_expr): Add TARGET_EXPR case with explanatory diff --git a/gcc/doc/tm.texi b/gcc/doc/tm.texi index 25aad2e..bbb1182 100644 --- a/gcc/doc/tm.texi +++ b/gcc/doc/tm.texi @@ -1825,6 +1825,7 @@ int}. @defmacx UINT_FAST64_TYPE @defmacx INTPTR_TYPE @defmacx UINTPTR_TYPE +@defmacx PID_TYPE C expressions for the standard types @code{sig_atomic_t}, @code{int8_t}, @code{int16_t}, @code{int32_t}, @code{int64_t}, @code{uint8_t}, @code{uint16_t}, @code{uint32_t}, @code{uint64_t}, @@ -1833,8 +1834,8 @@ C expressions for the standard types @code{sig_atomic_t}, @code{uint_least32_t}, @code{uint_least64_t}, @code{int_fast8_t}, @code{int_fast16_t}, @code{int_fast32_t}, @code{int_fast64_t}, @code{uint_fast8_t}, @code{uint_fast16_t}, @code{uint_fast32_t}, -@code{uint_fast64_t}, @code{intptr_t}, and @code{uintptr_t}. See -@code{SIZE_TYPE} above for more information. +@code{uint_fast64_t}, @code{intptr_t}, and @code{uintptr_t} and the +built-in type @code{pid_t}. See @code{SIZE_TYPE} above for more information. If any of these macros evaluates to a null pointer, the corresponding type is not supported; if GCC is configured to provide diff --git a/gcc/doc/tm.texi.in b/gcc/doc/tm.texi.in index 24d47b1..253965b 100644 --- a/gcc/doc/tm.texi.in +++ b/gcc/doc/tm.texi.in @@ -1553,6 +1553,7 @@ int}. @defmacx UINT_FAST64_TYPE @defmacx INTPTR_TYPE @defmacx UINTPTR_TYPE +@defmacx PID_TYPE C expressions for the standard types @code{sig_atomic_t}, @code{int8_t}, @code{int16_t}, @code{int32_t}, @code{int64_t}, @code{uint8_t}, @code{uint16_t}, @code{uint32_t}, @code{uint64_t}, @@ -1561,8 +1562,8 @@ C expressions for the standard types @code{sig_atomic_t}, @code{uint_least32_t}, @code{uint_least64_t}, @code{int_fast8_t}, @code{int_fast16_t}, @code{int_fast32_t}, @code{int_fast64_t}, @code{uint_fast8_t}, @code{uint_fast16_t}, @code{uint_fast32_t}, -@code{uint_fast64_t}, @code{intptr_t}, and @code{uintptr_t}. See -@code{SIZE_TYPE} above for more information. +@code{uint_fast64_t}, @code{intptr_t}, and @code{uintptr_t} and the +built-in type @code{pid_t}. See @code{SIZE_TYPE} above for more information. If any of these macros evaluates to a null pointer, the corresponding type is not supported; if GCC is configured to provide diff --git a/gcc/testsuite/ChangeLog b/gcc/testsuite/ChangeLog index f8a8fba..e80759b 100644 --- a/gcc/testsuite/ChangeLog +++ b/gcc/testsuite/ChangeLog @@ -1,3 +1,113 @@ +2025-12-09 Robin Dapp <rdapp@ventanamicro.com> + + PR tree-optimization/123074 + * gcc.target/riscv/rvv/rvv.exp: Include *.C. + * gcc.target/riscv/rvv/autovec/pr123074.C: New test. + +2025-12-09 Qing Zhao <qing.zhao@oracle.com> + + PR c/122982 + * gcc.dg/pointer-counted-by-pr122982.c: New test. + +2025-12-09 Pan Li <pan2.li@intel.com> + + * gcc.target/riscv/rvv/autovec/vx_vf/vx-1-i16.c: Add asm check + for vmslt.vx. + * gcc.target/riscv/rvv/autovec/vx_vf/vx-1-i32.c: Ditto. + * gcc.target/riscv/rvv/autovec/vx_vf/vx-1-i64.c: Ditto. + * gcc.target/riscv/rvv/autovec/vx_vf/vx-1-i8.c: Ditto. + * gcc.target/riscv/rvv/autovec/vx_vf/vx-2-i16.c: Ditto. + * gcc.target/riscv/rvv/autovec/vx_vf/vx-2-i32.c: Ditto. + * gcc.target/riscv/rvv/autovec/vx_vf/vx-2-i64.c: Ditto. + * gcc.target/riscv/rvv/autovec/vx_vf/vx-2-i8.c: Ditto. + * gcc.target/riscv/rvv/autovec/vx_vf/vx-3-i16.c: Ditto. + * gcc.target/riscv/rvv/autovec/vx_vf/vx-3-i32.c: Ditto. + * gcc.target/riscv/rvv/autovec/vx_vf/vx-3-i64.c: Ditto. + * gcc.target/riscv/rvv/autovec/vx_vf/vx-3-i8.c: Ditto. + * gcc.target/riscv/rvv/autovec/vx_vf/vx_binary.h: Add test + helper macros. + * gcc.target/riscv/rvv/autovec/vx_vf/vx_binary_data.h: Add test + data for run test. + * gcc.target/riscv/rvv/autovec/vx_vf/vx_vmslt-run-1-i16.c: New test. + * gcc.target/riscv/rvv/autovec/vx_vf/vx_vmslt-run-1-i32.c: New test. + * gcc.target/riscv/rvv/autovec/vx_vf/vx_vmslt-run-1-i64.c: New test. + * gcc.target/riscv/rvv/autovec/vx_vf/vx_vmslt-run-1-i8.c: New test. + +2025-12-09 Richard Biener <rguenther@suse.de> + + PR target/121230 + * gcc.target/i386/pr121230.c: New testcase. + +2025-12-09 Nathaniel Shead <nathanieloshead@gmail.com> + + Revert: + 2025-12-09 Nathaniel Shead <nathanieloshead@gmail.com> + + PR c++/122819 + * g++.dg/modules/tpl-friend-22.C: New test. + +2025-12-09 Jakub Jelinek <jakub@redhat.com> + + PR c/123018 + * gcc.dg/pr123018.c: New test. + +2025-12-09 Robin Dapp <rdapp@ventanamicro.com> + + PR tree-optimization/122635 + * gcc.target/aarch64/sve/pfalse-store.c: Expect more elided + stores. + * gcc.target/riscv/rvv/autovec/pr122635-1.c: New test. + * gcc.target/riscv/rvv/autovec/pr122635-2.c: New test. + * gcc.target/powerpc/p9-vec-length-epil-8.c: Expect two lxvl + less. + +2025-12-09 Robin Dapp <rdapp@ventanamicro.com> + + * gcc.target/riscv/rvv/autovec/max-vect-1.c: New test. + * gcc.target/riscv/rvv/autovec/max-vect-2.c: New test. + +2025-12-09 Robin Dapp <rdapp@ventanamicro.com> + + PR target/123022 + * gcc.target/riscv/rvv/autovec/pr123022-2.c: New test. + * gcc.target/riscv/rvv/autovec/pr123022.c: New test. + +2025-12-09 Robin Dapp <rdapp@ventanamicro.com> + + PR target/115325 + * gcc.target/riscv/pragma-target-1.c: New test. + * gcc.target/riscv/pragma-target-2.c: New test. + +2025-12-09 Robin Dapp <rdapp@ventanamicro.com> + + * gcc.target/riscv/rvv/autovec/reduc/reduc-bool-1-run.c: New test. + * gcc.target/riscv/rvv/autovec/reduc/reduc-bool-1.c: New test. + * gcc.target/riscv/rvv/autovec/reduc/reduc-bool-2-run.c: New test. + * gcc.target/riscv/rvv/autovec/reduc/reduc-bool-2.c: New test. + * gcc.target/riscv/rvv/autovec/reduc/reduc-bool-3-run.c: New test. + * gcc.target/riscv/rvv/autovec/reduc/reduc-bool-3.c: New test. + * gcc.target/riscv/rvv/autovec/reduc/reduc-bool-4-run.c: New test. + * gcc.target/riscv/rvv/autovec/reduc/reduc-bool-4.c: New test. + * gcc.target/riscv/rvv/autovec/reduc/reduc-bool-5-run.c: New test. + * gcc.target/riscv/rvv/autovec/reduc/reduc-bool-5.c: New test. + * gcc.target/riscv/rvv/autovec/reduc/reduc-bool-6-run.c: New test. + * gcc.target/riscv/rvv/autovec/reduc/reduc-bool-6.c: New test. + * gcc.target/riscv/rvv/autovec/reduc/reduc-bool-7-run.c: New test. + * gcc.target/riscv/rvv/autovec/reduc/reduc-bool-7.c: New test. + * gcc.target/riscv/rvv/autovec/reduc/reduc-bool-8-run.c: New test. + * gcc.target/riscv/rvv/autovec/reduc/reduc-bool-8.c: New test. + +2025-12-09 Richard Biener <rguenther@suse.de> + + PR target/123027 + * gcc.target/i386/pr123027.c: New testcase. + * gcc.dg/torture/pr123027.c: Likewise. + +2025-12-09 Nathaniel Shead <nathanieloshead@gmail.com> + + PR c++/122819 + * g++.dg/modules/tpl-friend-22.C: New test. + 2025-12-08 Andrew Pinski <andrew.pinski@oss.qualcomm.com> PR tree-optimization/46555 diff --git a/gcc/testsuite/g++.dg/lookup/extern-c-redecl3.C b/gcc/testsuite/g++.dg/lookup/extern-c-redecl3.C index 56dcefa..c9c9bd5 100644 --- a/gcc/testsuite/g++.dg/lookup/extern-c-redecl3.C +++ b/gcc/testsuite/g++.dg/lookup/extern-c-redecl3.C @@ -5,17 +5,19 @@ // { dg-final { scan-assembler-not "call\[\t \]+\[^\$\]*?_Z4forkv" { target i?86-*-* x86_64-*-* } } } // { dg-final { scan-assembler "call\[\t \]+_?fork" { target i?86-*-* x86_64-*-* } } } -extern "C" int fork (void); +typedef __typeof (__builtin_fork ()) pid_t; + +extern "C" pid_t fork (void); void foo () { - extern int fork (void); + extern pid_t fork (void); fork (); } extern "C" -int +pid_t fork (void) { return 0; diff --git a/gcc/testsuite/g++.dg/pid_t-1.C b/gcc/testsuite/g++.dg/pid_t-1.C new file mode 100644 index 0000000..cb32eb4 --- /dev/null +++ b/gcc/testsuite/g++.dg/pid_t-1.C @@ -0,0 +1,3 @@ +/* { dg-options "-Wall" } */ + +extern "C" int fork (void); // { dg-warning "conflicts with built-in declaration" "" { target { *-*-solaris2* && ilp32 } } } diff --git a/gcc/testsuite/gcc.target/riscv/rvv/autovec/pr123074.C b/gcc/testsuite/g++.target/riscv/rvv/autovec/pr123074.C index d203477..d203477 100644 --- a/gcc/testsuite/gcc.target/riscv/rvv/autovec/pr123074.C +++ b/gcc/testsuite/g++.target/riscv/rvv/autovec/pr123074.C diff --git a/gcc/testsuite/gcc.dg/pid_t-1.c b/gcc/testsuite/gcc.dg/pid_t-1.c new file mode 100644 index 0000000..f4f3f68 --- /dev/null +++ b/gcc/testsuite/gcc.dg/pid_t-1.c @@ -0,0 +1,19 @@ +/* { dg-do compile } */ +/* { dg-options "-Wall" } */ +/* { dg-require-fork "" } */ + +/* Compile with -Wall to get a warning if built-in and system pid_t don't + match. */ + +#include <sys/types.h> + +typedef __typeof (__builtin_fork ()) __builtin_pid_t; + +__builtin_pid_t __p_t__; +pid_t *p_t_p; + +void +pt (void) +{ + p_t_p = &__p_t__; +} diff --git a/gcc/testsuite/gcc.target/riscv/rvv/rvv.exp b/gcc/testsuite/gcc.target/riscv/rvv/rvv.exp index e128b17..877cc55 100644 --- a/gcc/testsuite/gcc.target/riscv/rvv/rvv.exp +++ b/gcc/testsuite/gcc.target/riscv/rvv/rvv.exp @@ -47,7 +47,7 @@ dg-runtest [lsort [glob -nocomplain $srcdir/$subdir/xandesvector/*.\[cS\]]] \ "" $CFLAGS gcc-dg-runtest [lsort [glob -nocomplain $srcdir/$subdir/vsetvl/*.\[cS\]]] \ "" $CFLAGS -dg-runtest [lsort [glob -nocomplain $srcdir/$subdir/autovec/*.\[cCS\]]] \ +dg-runtest [lsort [glob -nocomplain $srcdir/$subdir/autovec/*.\[cS\]]] \ "-O3 -ftree-vectorize" $CFLAGS dg-runtest [lsort [glob -nocomplain $srcdir/$subdir/autovec/vls/*.\[cS\]]] \ "-O3 -ftree-vectorize -mrvv-vector-bits=scalable" $CFLAGS |
