https://gcc.gnu.org/g:f0d56aeb912dd5e5ec7f81eaab23a3715e0c50a8
commit r17-4676-gf0d56aeb912dd5e5ec7f81eaab23a3715e0c50a8 Author: GCC Administrator <[email protected]> Date: Sat Sep 26 00:16:42 2026 +0000 Daily bump. Diff: --- ChangeLog | 5 ++ gcc/ChangeLog | 193 ++++++++++++++++++++++++++++++++++++++++++++++++ gcc/DATESTAMP | 2 +- gcc/algol68/ChangeLog | 40 ++++++++++ gcc/cobol/ChangeLog | 21 ++++++ gcc/cp/ChangeLog | 38 ++++++++++ gcc/m2/ChangeLog | 13 ++++ gcc/testsuite/ChangeLog | 136 ++++++++++++++++++++++++++++++++++ libgcobol/ChangeLog | 7 ++ libgfortran/ChangeLog | 14 ++++ libgomp/ChangeLog | 15 ++++ 11 files changed, 483 insertions(+), 1 deletion(-) diff --git a/ChangeLog b/ChangeLog index a594f7ea5c30..5dc0ed087e98 100644 --- a/ChangeLog +++ b/ChangeLog @@ -1,3 +1,8 @@ +2026-09-25 Dominic P <[email protected]> + + * MAINTAINERS.yml: Add myself. + * MAINTAINERS: Regenerate. + 2026-09-19 Michiel Derhaeg <[email protected]> * MAINTAINERS: Regenerate. diff --git a/gcc/ChangeLog b/gcc/ChangeLog index e472484a2211..0a143c9ae53b 100644 --- a/gcc/ChangeLog +++ b/gcc/ChangeLog @@ -1,3 +1,196 @@ +2026-09-26 Oleg Tolmatcev <[email protected]> + + PR debug/119940 + * dwarf2codeview.cc (codeview_start_source_file): Open the source file + in binary mode. + +2026-09-25 Dominic P <[email protected]> + + * config/aarch64/aarch64-simd.md + (aarch64_<sra_op>rsra_n<mode>_insn): Take the shift amount in + <V2XWIDE> mode. + (aarch64_<sra_op>rsra_n<mode>): Build the shift amount vector in + that mode. + (aarch64_<sra_op>rshr_n<mode><vczle><vczbe>_insn): Take the shift + amount in <V2XWIDE> mode. + (aarch64_<sra_op>rshr_n<mode>): Build the shift amount vector in + that mode. + +2026-09-25 Dominic P <[email protected]> + + * config/aarch64/aarch64-simd.md + (*aarch64_<sra_op>rshrn_n<mode>_insn<vczle><vczbe>): New pattern. + (*aarch64_<sra_op>rshrn2_n<mode>_insn_le): Likewise. + (*aarch64_<sra_op>rshrn2_n<mode>_insn_be): Likewise. + +2026-09-25 Dominic P <[email protected]> + + * config/aarch64/predicates.md (aarch64_simd_umax_half_mode) + (aarch64_simd_umax_quarter_mode): Remove. + * config/aarch64/aarch64-simd.md (aarch64_sqmovun<mode>) + (*aarch64_sqmovun<mode>_insn<vczle><vczbe>) + (aarch64_sqxtun2<mode>_le, aarch64_sqxtun2<mode>_be) + (aarch64_sqxtun2<mode>) + (*aarch64_sqshrun_n<mode>_insn<vczle><vczbe>) + (aarch64_sqshrun_n<mode>) + (*aarch64_sqrshrun_n<mode>_insn<vczle><vczbe>) + (aarch64_sqrshrun_n<mode>, aarch64_sqshrun2_n<mode>_insn_le) + (aarch64_sqshrun2_n<mode>_insn_be, aarch64_sqshrun2_n<mode>) + (aarch64_sqrshrun2_n<mode>_insn_le) + (aarch64_sqrshrun2_n<mode>_insn_be, aarch64_sqrshrun2_n<mode>): + Match an us_truncate of an smax instead of a truncate of an smin + of an smax. + +2026-09-25 Michiel Derhaeg <[email protected]> + + * config/riscv/arcv-rmx100.md (arcv_rmx100_load_insn): + Update latency. + (arcv_rmx100_fpload_insn): Merge with *_load_insn. + +2026-09-25 Andrea Pinski <[email protected]> + + PR middle-end/127602 + * except.h (struct eh_catch_d): Add chain_next and chain_prev + GTY. + +2026-09-25 Andrea Pinski <[email protected]> + + PR middle-end/127602 + * except.h (struct eh_region_d): Add chain_next GTY. + +2026-09-25 Aldy Hernandez <[email protected]> + + PR tree-optimization/127485 + * range-op-mixed.h (class operator_minus): Add op1_op2_relation. + * range-op.cc (operator_minus::op1_op2_relation): New. + * gimple-range-fold.cc (fur_source::register_outgoing_edges): + Derive relations from any integral export, not just booleans. + +2026-09-25 Vladimir N. Makarov <[email protected]> + + PR rtl-optimization/127326 + * lra-constraints.cc (process_alt_operands): Resolve the operand + to memory when it is a winning MEM and the value can be held in a + register. + +2026-09-25 Tobias Burnus <[email protected]> + + PR lto/127589 + * lto-streamer-in.cc (lto_input_mode_table): With ACCEL_COMPILER, + check whether found float and int modes are actually enabled/available + at runtime. + +2026-09-25 Roger Sayle <[email protected]> + + * simplify-rtx.cc (simplify_binary_operation_1) <SMUL_HIGHPART>: + Add transformations for multiplications by one and powers to two. + <UMUL_HIGHPART>: Likewise. + +2026-09-25 Wilco Dijkstra <[email protected]> + + PR target/112465 + * config/aarch64/aarch64.cc (aarch64_override_options_after_change_1): + Turn off outline atomics with -mcmodel=large. + * doc/invoke.texi (-mcmodel=large): Update description. + +2026-09-25 Oleg Tolmatcev <[email protected]> + + PR target/54412 + * except.cc (sjlj_build_landing_pads): Pass ASLK_REDUCE_ALIGN. + * function.cc (assign_stack_local_2): New function, split from + assign_stack_local_1. Honour an explicit alignment beyond + MAX_SUPPORTED_STACK_ALIGNMENT by overallocating the slot and aligning + its address at run time. Optionally return the address before run-time + alignment. + (assign_stack_local_1): Wrap assign_stack_local_2. + (temp_slot): Add base_addr. + (assign_stack_temp_for_type): Distinguish required and preferred + alignment. Record the address before run-time alignment and recalculate + the aligned address when reusing an over-aligned slot. Do not split an + over-aligned BLKmode slot. + (combine_temp_slots): Do not combine over-aligned slots. + (assign_parm_setup_block): Let assign_stack_local align the slot. + * lra-spills.cc (assign_mem_slot): Pass ASLK_REDUCE_ALIGN. + +2026-09-25 Richard Biener <[email protected]> + + PR tree-optimization/127588 + * tree-vect-loop-manip.cc (vect_update_ivs_after_vectorizer): + Use an unsigned type to compute the epilog start value. + +2026-09-25 Surya Kumari Jangala <[email protected]> + + PR rtl-optimization/106770 + * config/rs6000/rs6000-p8swap.cc (non_permuting_mem_insn): New function. + (handle_non_permuting_mem_insn): New function. + (rs6000_analyze_swaps): Handle swappable instructions only in certain + webs. + (web_requires_special_handling): New instance variable. + (handle_special_swappables): Remove handling of non-permuting load/store + instructions. + +2026-09-25 Andrew Stubbs <[email protected]> + + * config/gcn/gcn-valu.md (mul<mode>3): Remove erroneous hi*hi step. + (mul<mode>3_dup): Likewise. + (mul<mode>3_exec): Likewise. + (mul<mode>3_dup_exec): Likewise. + +2026-09-25 Richard Biener <[email protected]> + + PR tree-optimization/127601 + * tree-vect-stmts.cc (get_load_store_type): Move overrun + flags and final handling to the relevant section, after + determining the step direction and the memory access type. + Only elide overrun with half-vector accesses for the + memory access types supporting that. Do not claim + VMAT_STRIDED_SLP can handle overruns when the step is + negative. + (vectorizable_load): For the last memory access type group + analysis/transform assert what memory access type that covers. + +2026-09-25 Georg-Johann Lay <[email protected]> + + * config/avr/avr.opt.urls: Fix moptimize link. + +2026-09-25 Richard Biener <[email protected]> + + PR tree-optimization/127600 + * tree-vect-loop.cc (vect_is_simple_iv_evolution): Explicitly + initialize STMT_VINFO_LOOP_PHI_EVOLUTION_TYPE. + (is_nonwrapping_integer_induction): Bail out for alternate + induction types. + +2026-09-25 Jakub Jelinek <[email protected]> + + PR middle-end/127517 + * internal-fn.cc (expand_mul_overflow): Revert the 2023-09-06 + changes. Instead promote arg0 and/or arg1 to a type with + uns{0,1}_p signedness and mode precision if they have non-mode + precision. Pass the original arg0/arg1 and their type to + ubsan_build_overflow_builtin, instead of passing the promoted + ones. + +2026-09-25 Georg-Johann Lay <[email protected]> + + * config/avr/avr.opt (-moptimize): New target option. + * config/avr/avr.opt.urls: Add resprective URL. + * common/config/avr/avr-common.cc (avr_enable_optimizations): New + static function. + (avr_handle_option) [OPT_moptimize]: Call it. + * doc/invoke.texi (AVR Options) <-moptimize>: Document it. + +2026-09-25 Artemiy Volkov <[email protected]> + + PR tree-optimization/127552 + * match.pd: Fix constant comparison in ((X >> C1) & C2) << C3. + +2026-09-25 Andrea Pinski <[email protected]> + + PR target/127599 + * config/aarch64/aarch64.cc (aarch64_evpc_rev64_ext): Move + the testing_p after the is_bb_in_loop test. + 2026-09-24 Jakub Jelinek <[email protected]> PR c++/126848 diff --git a/gcc/DATESTAMP b/gcc/DATESTAMP index 147e2265a569..ca1d5ff2ec50 100644 --- a/gcc/DATESTAMP +++ b/gcc/DATESTAMP @@ -1 +1 @@ -20260925 +20260926 diff --git a/gcc/algol68/ChangeLog b/gcc/algol68/ChangeLog index d0446d95ce54..4992b52ffcdf 100644 --- a/gcc/algol68/ChangeLog +++ b/gcc/algol68/ChangeLog @@ -1,3 +1,43 @@ +2026-09-25 Jose E. Marchesi <[email protected]> + + * a68-types.h (struct TAG_T): Add field ctyp. + * a68-parser.cc (a68_new_tag): Initialize CTYPE. + * a68-low-decls.cc (fish_declarer_from_tree): New function. + (grok_typedef_in_decl): Likewise. + (a68_lower_mode_declaration): Install typedef variant type for a + defining-indicant in the symtab. + (a68_lower_variable_declaration): Call grok_typedef_in_decl. + (a68_lower_identity_declaration): Likewise. + * a68-low-ranges.cc (a68_pop_serial_clause_range): Compare main + variant types in sanity check at block exit. + * a68-low.cc (a68_low_assignation): Likewise in assignation. + +2026-09-25 Jose E. Marchesi <[email protected]> + + * a68-low-bits.cc: Use front-end type nodes consistently. + * a68-low-bools.cc: Likewise. + * a68-low-chars.cc: Likewise. + * a68-low-clauses.cc: Likewise. + * a68-low-ints.cc: Likewise. + * a68-low-multiples.cc: Likewise. + * a68-low-prelude.cc: Likewise. + * a68-low-reals.cc: Likewise. + * a68-low-unions.cc: Likewise. + * a68-low-units.cc: Likewise. + * a68-low.cc: Likewise. + +2026-09-25 Jose E. Marchesi <[email protected]> + + * a68-low-decls.cc (a68_lower_mode_declaration): Use + a68_add_global_decl for mode declarations in public ranges. + +2026-09-25 Jose E. Marchesi <[email protected]> + + * a68.h: Add prototypes for a68_add_global_decl and + a68_global_context. + * a68-low-ranges.cc (a68_add_global_decl): New function. + (a68_global_context): Likewise. + 2026-09-24 Jose E. Marchesi <[email protected]> * a68-parser-moids-equivalence.cc (are_modes_equivalent): Do not diff --git a/gcc/cobol/ChangeLog b/gcc/cobol/ChangeLog index 08b329ab66af..3136fb094900 100644 --- a/gcc/cobol/ChangeLog +++ b/gcc/cobol/ChangeLog @@ -1,3 +1,24 @@ +2026-09-25 Robert Dubner <[email protected]> + + * cobol1.cc (use_static_call): Change name of global function to + set_use_static_call. + (set_use_static_call): Likewise. + (cobol_langhook_handle_option): Use 'value' parameter rather than + 'arg' parameter. + * genapi.cc (use_static_call): Change name. + (set_use_static_call): Likewise. + (create_and_call): Call push/pop_program_state in the correct order. + (literal_call_descriptor_type): Use common structure definition in + both compile-time and run-time code. + (GCOBOL_CALL_FIELD_NAME): Likewise. + (GCOBOL_CALL_FIELD_TYPE): Likewise. + (literal_call_descriptor): Likewise. + (GCOBOL_CALL_FIELD_VALUE): Likewise. + (function_pointer_for_literal_call): Consolidate several calls to + libgcobol. + (parser_call): Likewise. + * lang.opt: Modify definition of -fstatic-call. + 2026-09-23 Robert Dubner <[email protected]> * gcobol.1: Document the changes. diff --git a/gcc/cp/ChangeLog b/gcc/cp/ChangeLog index ef604ec25fd8..06ddd4e94a08 100644 --- a/gcc/cp/ChangeLog +++ b/gcc/cp/ChangeLog @@ -1,3 +1,41 @@ +2026-09-25 Jakub Jelinek <[email protected]> + + PR c++/127385 + * constexpr.cc (cxx_eval_store_expression): Handle the case + of *valp == void_node like if *valp is NULL. + (cxx_eval_store_expression): For CLOBBER_OBJECT_END or above + store *valp = void_node even for aggregate types. + +2026-09-25 Jakub Jelinek <[email protected]> + + P3769R1 + PR c++/125848 + * call.cc (build_op_delete_call_1): Implement C++26 + P3769R1 - Clarification of placement new deallocation. Instead of + calling instantiate_type to select placement deallocation function + iterate over OVERLOAD if any, perform argument deduction for + templates, ignore candidates with different parameter type lists + or unsatisfied constraints and if only one candidate remains, + use it, otherwise don't destruct on throw. Add placement_args + argument, pass it down to build_op_delete_call call and use in + template argument deduction. + (build_op_delete_call): Add placement_args argument and pass it + down to build_op_delete_call_1. + (build_coroutine_op_delete_call): Remove placement argument, pass + down NULL_TREE and NULL to build_op_delete_call_1 as placement and + placement_args. + * cp-tree.h (build_op_delete_call): Add placement_args argument. + (build_coroutine_op_delete_call): Remove placement argument. + * init.cc (build_new_1): Pass down *placement as placement_args + to build_op_delete_call for placement new. + (build_vec_delete_1): Adjust build_op_delete_call callers. + (build_delete): Likewise. Remove {}s around single statement + body. + * coroutines.cc (build_coroutine_frame_delete_expr): Don't pass + placement to build_coroutine_op_delete_call. + * optimize.cc (build_delete_destructor_body): Adjust + build_op_delete_call caller. + 2026-09-23 Jakub Jelinek <[email protected]> PR c++/127506 diff --git a/gcc/m2/ChangeLog b/gcc/m2/ChangeLog index 2701442355ea..ec5ddfdba200 100644 --- a/gcc/m2/ChangeLog +++ b/gcc/m2/ChangeLog @@ -1,3 +1,16 @@ +2026-09-25 Gaius Mulley <[email protected]> + + PR modula2/127567 + * gm2-compiler/P1SymBuild.mod (BuildImportInnerModule): Call + PutImported if sym is a defimp or module. + * gm2-compiler/SymbolConversion.def (Gcc2Mod): Correct parameter + name. + * gm2-compiler/SymbolConversion.mod (Gcc2Mod): Ditto. + * gm2-compiler/SymbolTable.mod (IsExternalModule): New procedure + function. + (AddSymToModuleScope): Only generate an error if the symbol is + not an external module. + 2026-09-22 Gaius Mulley <[email protected]> PR modula2/127554 diff --git a/gcc/testsuite/ChangeLog b/gcc/testsuite/ChangeLog index ff25481710eb..64e107a51141 100644 --- a/gcc/testsuite/ChangeLog +++ b/gcc/testsuite/ChangeLog @@ -1,3 +1,139 @@ +2026-09-25 Jerry DeLisle <[email protected]> + + * gfortran.dg/pdt_38.f03: Replace paren with brace. + * gfortran.dg/pdt_42.f03: Ditto. + * gfortran.dg/pdt_43.f03: Ditto. + * gfortran.dg/pdt_80.f03: Ditto. + * gfortran.dg/pdt_81.f03: Ditto. + +2026-09-25 Dominic P <[email protected]> + + * gcc.target/aarch64/simd_srshr_1.c: New test. + * gcc.target/aarch64/simd_srshr_2.c: New test. + +2026-09-25 Dominic P <[email protected]> + + * gcc.target/aarch64/advsimd-intrinsics/shrn-1.c: Expect rshrn + and rshrn2 in place of raddhn and raddhn2, and no movi. + * gcc.target/aarch64/advsimd-intrinsics/shrn-2.c: Expect rshrn + and rshrn2 in place of raddhn and raddhn2. Skip at -O0. + * gcc.target/aarch64/advsimd-intrinsics/shrn-3.c: Likewise. + * gcc.target/aarch64/advsimd-intrinsics/shrn-4.c: Likewise. + * gcc.target/aarch64/simd_rshrn_1.c: New test. + * gcc.target/aarch64/simd_rshrn_2.c: New test. + +2026-09-25 Dominic P <[email protected]> + + * gcc.target/aarch64/vect-sat-trunc-3.c: New test. + +2026-09-25 Dominic P <[email protected]> + + * gcc.dg/tree-ssa/minmax-swar-1.c: Derive the shift count from + sizeof (int); drop the int32 requirement. + * gcc.dg/tree-ssa/minmax-swar-2.c: Likewise. + +2026-09-25 Dominic P <[email protected]> + + * gcc.dg/tree-ssa/minmax-swar-5.c: Move to... + * gcc.dg/vect/minmax-swar-5.c: ...here. Require vect_int, take the + flags from vect.exp, size the vector with sizeof and gate the scans. + * gcc.dg/tree-ssa/minmax-swar-6.c: Move to... + * gcc.dg/vect/minmax-swar-6.c: ...here. Take the flags from vect.exp. + * gcc.dg/tree-ssa/minmax-swar-7.c: Move to... + * gcc.dg/vect/minmax-swar-7.c: ...here. Likewise. + * gcc.dg/tree-ssa/minmax-negate-3.c: Move to... + * gcc.dg/vect/minmax-negate-3.c: ...here. Likewise. + * gcc.dg/tree-ssa/vector-alignup-1.c: Move to... + * gcc.dg/vect/vector-alignup-1.c: ...here. Likewise, size the + vectors with sizeof and gate the scans. + +2026-09-25 Aldy Hernandez <[email protected]> + + PR tree-optimization/127485 + * gcc.dg/tree-ssa/vrp-minus-relation-1.c: New test. + +2026-09-25 Vladimir N. Makarov <[email protected]> + + PR rtl-optimization/127326 + * gcc.target/i386/pr127326.c (test2): New test. + +2026-09-25 Jerry DeLisle <[email protected]> + + PR libfortran/127347 + * gfortran.dg/coarray/collective_stopped_2.f90: New test. + +2026-09-25 Jakub Jelinek <[email protected]> + + PR c++/127385 + * g++.dg/cpp26/within-lifetime14.C: New test. + +2026-09-25 Jakub Jelinek <[email protected]> + + P3769R1 + PR c++/125848 + * g++.dg/cpp26/placement-new1.C: New test. + +2026-09-25 Roger Sayle <[email protected]> + + * gcc.target/nvptx/mul-hi-2.c: New test case. + +2026-09-25 Oleg Tolmatcev <[email protected]> + + PR target/54412 + * g++.target/i386/pr54412-highpart-extract-rt.C: New test. + * gcc.target/i386/pr54412-aligned-struct-byval-temp.c: New test. + * gcc.target/i386/pr54412-blkmode-temp-biggest-align.c: New test. + * gcc.target/i386/pr54412-escaping-param.c: New test. + * gcc.target/i386/pr54412-m256-byval-param.c: New test. + +2026-09-25 Richard Biener <[email protected]> + + PR tree-optimization/127588 + * gcc.dg/vect/vect-iv-15.c: New testcase. + +2026-09-25 Surya Kumari Jangala <[email protected]> + + PR rtl-optimization/106770 + * gcc.target/powerpc/pr106770.c: New test. + +2026-09-25 Richard Biener <[email protected]> + + PR tree-optimization/127601 + * gcc.dg/vect/vect-pr127601.c: New testcase. + +2026-09-25 Richard Biener <[email protected]> + + PR tree-optimization/127600 + * gcc.dg/vect/vect-cond-reduc-7.c: New testcase. + +2026-09-25 Jakub Jelinek <[email protected]> + + PR middle-end/127517 + * gcc.dg/torture/bitint-109.c: New test. + +2026-09-25 Artemiy Volkov <[email protected]> + + PR tree-optimization/127552 + * gcc.dg/tree-ssa/match-bit-extract-shift.c: Adjust testcases. + +2026-09-25 Gaius Mulley <[email protected]> + + PR modula2/127567 + * gm2/imports/fail/tinybadimport.mod: New test. + * gm2/imports/run/pass/tinygoodimport.mod: New test. + +2026-09-25 Andrea Pinski <[email protected]> + + PR testsuite/127587 + * gcc.dg/vect/vect-alias-check-ptr-info-2.c: Clear the arrays + before the use of them. + +2026-09-25 Andrea Pinski <[email protected]> + + PR target/127599 + * gcc.dg/torture/pr127599-1.c: New testcase. + * gcc.target/aarch64/advsimd-intrinsics/pr127599-1.c: New testcase. + 2026-09-24 Jerry DeLisle <[email protected]> PR libfortran/127347 diff --git a/libgcobol/ChangeLog b/libgcobol/ChangeLog index 72ada3fd4121..22b760f3879d 100644 --- a/libgcobol/ChangeLog +++ b/libgcobol/ChangeLog @@ -1,3 +1,10 @@ +2026-09-25 Robert Dubner <[email protected]> + + * libgcobol.cc (__gg__call_warning_message): Moved here from + compile time. + (__gg__resolve_literal_call): New consolidated function. + * literal-call-descriptor.h: New file. + 2026-09-24 Robert Dubner <[email protected]> * libgcobol.cc (find_in_dirs): Use the cached array. diff --git a/libgfortran/ChangeLog b/libgfortran/ChangeLog index 5d6ea44c4452..d7ea5a6c778d 100644 --- a/libgfortran/ChangeLog +++ b/libgfortran/ChangeLog @@ -1,3 +1,17 @@ +2026-09-25 Jerry DeLisle <[email protected]> + + PR libfortran/127347 + * caf/shmem.c (_gfortran_caf_co_broadcast, _gfortran_caf_co_sum) + (_gfortran_caf_co_min, _gfortran_caf_co_max) + (_gfortran_caf_co_reduce): Report a terminated image of the team + through STAT. + * caf/shmem/collective_subroutine.c (collsub_sync): Return whether + the images were synchronized. + (collsub_reduce_array, collsub_broadcast_array): Likewise. Give up + when an image of the team terminated. + * caf/shmem/collective_subroutine.h (collsub_reduce_array) + (collsub_broadcast_array): Adjust. + 2026-09-24 Jerry DeLisle <[email protected]> PR libfortran/127347 diff --git a/libgomp/ChangeLog b/libgomp/ChangeLog index cd673ea1de13..1b0858dbf7ae 100644 --- a/libgomp/ChangeLog +++ b/libgomp/ChangeLog @@ -1,3 +1,18 @@ +2026-09-25 Thomas Schwinge <[email protected]> + + PR tree-optimization/127053 + * testsuite/libgomp.graphite/force-parallel-8.c: + 'dg-additional-options -fno-expensive-optimizations'. + +2026-09-25 Tobias Burnus <[email protected]> + + PR lto/127589 + * testsuite/libgomp.c/cmplxint-target-1.c: New test. + * testsuite/libgomp.c/cmplxint128-target-1.c: New test. + * testsuite/libgomp.c/dfp-target-1.c: New test. + * testsuite/libgomp.c/float16-target-1.c: New test. + * testsuite/libgomp.c/float16-target-2.c: New test. + 2026-09-24 Jakub Jelinek <[email protected]> * alloc.c (gomp_aligned_alloc): Check for overflows in the
