es (once they reopen)?
* tree-vect-data-refs.cc (vect_can_force_dr_alignment_p): Return
false if the variable has no symtab node.
--
Eric Botcazou
diff --git a/gcc/tree-vect-data-refs.cc b/gcc/tree-vect-data-refs.cc
index 9fd1ef29650..6e35f549a8c 100644
--- a/gcc/tree-vect-data-refs.cc
+++
at introduces
a regression for g++.dg/ipa/devirt-39.C, because the vtable is preserved and
in turn forces the method to be preserved, hence the special case for vtables.
The test also renames the first process_references function in ipa.cc to clear
the confusion with the second function in the
2578
# of unexpected failures0
Native configuration is x86_64-suse-linux-gnu
Applied on the mainline.
2025-05-24 Eric Botcazou
testsuite/
* ada/acats-4: Add ACATS 4.2 testsuite.
--
Eric Botcazou
===
# of expected passes2421
# of unexpected failures0
Applied on the mainline.
2025-05-24 Eric Botcazou
testsuite/
* ada/acats-3: Add ACATS 3.1 testsuite.
--
Eric Botcazou
This is in preparation for the installation of the ACATS 4.2 testsuite.
Tested on x86-64/Linux, applied on the mainline.
2025-05-24 Eric Botcazou
ada/
* gcc-interface/Make-lang.in (ACATSDIR): Use acats-2 directory.
testsuite/
* ada/acats/*: Rename into ada/acats-2
It is used to specify which files are compiled with -gnato, but the switch has
been the default for at least a decade.
Tested on x86-64/Linux, applied on the mainline.
2025-05-22 Eric Botcazou
* ada/acats/overflow.lst: Delete.
* ada/acats/run_all.sh: Do not process
but the pattern is so specific, even in
Ada, that patching earlier branches does not seem worth the hassle.
2025-05-21 Eric Botcazou
* ipa-sra.cc (scan_expr_access): Also disqualify storage order
barriers from splitting.
* tree.h (storage_order_barrier_p): Al
> gcc/
> * config/sparc/sparc.md (zero_extendhisi2, zero_extendhidi2)
> (extendhisi2, extendqihi2, extendqisi2, extendqidi2)
> (extendhidi2): Use operands[0] and operands[1] instead of
> operand0 and operand1.
OK, thanks.
--
Eric Botcazou
> OK.
Thanks.
> Btw, can we try to add a "guality" for gnat.dg? Or are you making sure to
> add coverage to the gdb testsuite?
Yes, the GDB testsuite will get a testcase.
--
Eric Botcazou
-funroll-loops either augment or use a multiple of the
specified factor?
--
Eric Botcazou
second part of the restriction, which helps for obscure cases
of packed discriminated record types in Ada, although this requires the latest
GDB sources.
Tested on x86-64/Linux, OK for the mainline?
2025-05-12 Eric Botcazou
* dwarf2out.cc (loc_list_from_tree_1) : Do not bail
of vr-values.cc, leading to the same problematic outcome.
Tested on x86-64/Linux, OK for the mainline, 15 and 14 branches?
2025-05-09 Eric Botcazou
* vr-values.cc (simplify_using_ranges::simplify) :
Do not call simplify_bit_ops_using_ranges for boolean types whos
.
2025-05-05 Eric Botcazou
PR ada/120104
* exp_ch3.adb (Expand_Freeze_Record_Type): For a controlled tagged
type, freeze only the controlled primitives that are present.
2025-05-05 Eric Botcazou
* gnat.dg/specs/finalizable1.ads: New test.
--
Eric Botcazoudiff
This fixes the long-standing build failure of GNAT for x86/FreeBSD.
Applied on all active branches.
2025-04-30 Eric Botcazou
PR ada/112958
* Makefile.rtl (LIBGNAT_TARGET_PAIRS) [x86 FreeBSD]: Add specific
version of s-dorepr.adb.
* libgnat/s
t; * config/i386/cygming.h (STACK_REALIGN_DEFAULT): Copy from sol2.h.
FWIW looks good to me.
--
Eric Botcazou
> I'd reword this to
>
> "Similarly, TYPE_UNSIGNED is false for components of vector masks and
> possibly for boolean types in languages other than C."
>
> That is, the C/middle-end boolean_type_node is always unsigned.
OK, thanks, I have installed the attached patch.
--
Eric Botcazoudiff --gi
ents of vector masks,
+ although it is believed to be true for all boolean types built in the
+ front-ends of the various languages. */
DEFTREECODE (BOOLEAN_TYPE, "boolean_type", tcc_type, 0)
/* Integer types in all languages, including char in C.
--
Eric Botcazou
tcc_type, 0)
/* Integer types in all languages, including char in C.
--
Eric Botcazou
Botcazou
* tree-ssa-phiopt.cc (factor_out_conditional_operation): Do not
bypass the int_fits_type_p test for boolean types whose precision
is not 1.
2025-04-15 Eric Botcazou
* gnat.dg/opt105.adb: New test.
* gnat.dg/opt105_pkg.ads, gnat.dg/opt105_pkg.adb
branch), where the change is equally problematic, until a way out is
devised for Ada.
Tested on x86-64/Linux, applied on the 14 branch.
2025-04-14 Eric Botcazou
PR lto/119792
Revert
Backported from master:
2024-12-12 Martin Uecker
PR c/113688
to the wrong conclusion that it does not.
Tested on x86-64/Linux, applied on the mainline.
2025-04-12 Eric Botcazou
PR ada/119643
* sem_ch8.adb (Inherit_Renamed_Profile): Add guard against the
peculiarities of Natural and Positive.
2025-04-12 Eric Botcazou
Hi,
this applies the same magic to config/i386/gthr-win32.h that was applied to
gthr-posix.h (https://gcc.gnu.org/cgit/gcc/commit/?id=6a4d1c374eed17) for the
sake of C++ modules (thanks to Andrew for the pointer!).
Built for {i686,x86_64}-w64-mingw32, OK for the mainline?
2025-04-11 Eric
> Thanks Fernando,
Seconded.
> I've pushed the attached changes.
I have made a few subsequent tweaks (attached).
--
Eric Botcazou
diff --git a/htdocs/gcc-15/changes.html b/htdocs/gcc-15/changes.html
index 8220d130..e29fca9d 100644
--- a/htdocs/gcc-15/changes.html
+++ b/ht
ys is
pointer-to-constrained-array and, therefore, its value must designate the
array itself and not the bounds.
Tested on x86-64/Linux, applied on the mainline (branches are not affected).
2025-04-07 Eric Botcazou
ada/
* gcc-interface/utils.cc (convert) : Use fold_convert
> Let's involve Eric here, I have no idea what was intended here.
We discussed it with Tom internally and he makes the final decisions here.
--
Eric Botcazou
if there is no previous use of REG:
case REG:
if (x == dest)
{
if (incr > 0 && counts[REGNO (x)] != 0)
counts[REGNO (x)] += incr;
}
else
counts[REGNO (x)] += incr;
return;
IIUC this would both fix the bug and preserve the deletion if insn 26 and 27
are swapped.
--
Eric Botcazou
in the RTL stream, which is precisely the
case that we may lead to wrong code.
--
Eric Botcazou
throughout
the implementation, mostly in the commentary and without functional changes.
Tested on x86-64/Linux, applied on all active branches.
2025-04-04 Eric Botcazou
ada/
* libgnat/a-ngcoar.adb (Eigensystem): Adjust notation and fix the
layout of the real symmetric matrix in
is idempotent.
Tested on x86-64/Linux, applied on the mainline (branches are not affected).
2025-03-27 Eric Botcazou
ada/
* libgnarl/s-tasini.adb (Tasking_Runtime_Initialize): Add pragma
Linker_Constructor for the procedure.
--
Eric Botcazoudiff --git a/gcc/ada
Like the main driver (as well as gccgo, gccrs, gcov, etc) the gnat driver
prints the standard version message in response to the --version switch, but
it is not properly formatted.
Tested on x86-64/Linux, applied on the mainline.
2025-03-19 Eric Botcazou
* gnatvsn.adb
mainline, 14 and 13 branches.
2025-03-19 Eric Botcazou
* gcc-interface/decl.cc (gnat_to_gnu_entity) :
Set the may_alias attribute if a specific GCC type is built.
--
Eric Botcazoudiff --git a/gcc/ada/gcc-interface/decl.cc b/gcc/ada/gcc-interface/decl.cc
index 1854c587543
internal to Instantiate_Formal_Package, where a
specific construct (the abbreviated instance) built for the nested formal
package discombobulates the processing done for the outer formal package.
Tested on x86-64/Linux, applied on the mainline, 14 and 13 branches.
2025-03-19 Eric Botcazou
This plugs a small loophole in the pattern matching done by -fdump-ada-spec.
Tested on x86-64/Linux, applied on mainline, 14 and 13 branches.
2025-03-13 Eric Botcazou
PR ada/119265
* c-ada-spec.cc (dump_ada_node) : Deal with typedefs
of unsigned __int128.
--
Eric
tophe
> tested this on arm, ok for trunk?
>
> 2025-02-27 Jakub Jelinek
>
> PR rtl-optimization/117712
> * expr.cc (force_operand): Handle {,UNSIGNED_}FIX with
> FIX operand using expand_fix on the inner FIX operand.
>
> * gcc.dg/pr117712.c: New test.
Looks good to me, thanks.
--
Eric Botcazou
from the middle-end change and papering over it in
various back-ends should be the very last resort solution.
--
Eric Botcazou
es the former variant with the CCC & CCXC modes.
--
Eric Botcazou
also tested with gcc-14 targeting
> leon3-elf with -mfix-ut699. Ok to install?
>
>
> for gcc/testsuite/ChangeLog
>
> * gcc.target/sparc/vis3move-3.c: Select ultrasparc. Skip with
> -mfix-ut699.
OK.
--
Eric Botcazou
99. Ok to install?
>
>
> for gcc/testsuite/ChangeLog
>
> * gcc.target/sparc/sparc-ret-1.c: Skip on -mfix-ut699.
OK.
--
Eric Botcazou
* gcc.target/sparc/tls-ld-uint32.c: Likewise.
> * gcc.target/sparc/tls-ld-uint8.c: Likewise.
OK.
--
Eric Botcazou
gara7-align.c: Use -mtune.
OK.
--
Eric Botcazou
It's just a missing test for the presence of a nonempty parameter.
Tested on x86-64/Linux, applied on the mainline.
2025-02-04 Eric Botcazou
PR ada/118731
* sem_aggr.adb (Resolve_Iterated_Association): Add missing guard.
--
Eric Botcazoudiff --git a/gcc/ada/sem_aggr.
branches.
2025-02-01 Eric Botcazou
PR ada/118712
* sem_warn.adb (Check_References): Deal with small adjustments of
references.
2025-02-01 Eric Botcazou
* gnat.dg/warn33.adb: New test.
* gnat.dg/warn33_pkg.ads: New helper.
--
Eric Botcazoudiff --git a
n't ignore the empty
> block when searching for the next active instruction.
--
Eric Botcazou
The problem was preexisting for class-wide allocators, but now occurs for
allocators of controlled types on the mainline, because of the recent overhaul
of the finalization machinery.
Tested on x86-64/Linux, applied on the mainline.
2025-01-31 Eric Botcazou
* gcc-interface
> things up.
Indeed, I did not notice that the bot's outcome was "failed", thanks.
--
Eric Botcazou
> sparc added a -mvis3b option, but the sparc.opt.url file wasn't
> regenerated.
>
> Fixes: d309844d6fe0 ("Fix bootstrap failure on SPARC with -O3
> -mcpu=niagara4")
Thanks, but how is one supposed to detect this? Everything worked fine.
--
Eric Botcazou
This adds the missing support for the S/390 and RISC-V architectures to the
object file reader present in the run-time library, fixing the regression.
Tested on x86-64/Linux, applied on the mainline.
2025-01-13 Eric Botcazou
PR ada/118459
* libgnat/s-objrea.ads (Object_Arch
salvage the non-obsoleted parts of the above change?
--
Eric Botcazou
eak
something, so the simpler, the better.
--
Eric Botcazou
This is a regression introduced by
https://gcc.gnu.org/pipermail/gcc-cvs/2024-July/405522.html
in the form of a spurious relinking of the gnatbind executable for the install
target of cross Ada compilers.
Tested on x86-64/Linux, applied on the mainline.
2025-01-06 Eric Botcazou
This just aligns the documentation with the code.
Tested with 'make doc', applied on the mainline.
2025-01-06 Eric Botcazou
PR ada/117936
* doc/gnat_rm/implementation_defined_pragmas.rst
(Unimplemented_Unit): Adjust the description of the err
ful for bringing up a new target.
Thanks, patch applied on all active branches although it lacks a Changelog:
* libgnarl/s-taprop__dummy.adb: Remove use clause for
System.Parameters.
(Unlock): Remove Global_Lock formal parameter.
(Write_Lock): Likewise.
--
Eric Botcazou
> gcc/ada/ChangeLog:
>
> * libgnat/system-gnu.ads: Set Max_Priority to 60.
Likewise.
--
Eric Botcazou
_sigset.
> [__GNU__]: Define PTHREAD_*SIZE
Thanks, applied.
--
Eric Botcazou
This replaces the use of FAIL in the new vec_cmp[u] expanders by that of a
predicate for the operator, which is (apparently) required for the optabs
machinery to properly compute the set of supported vector comparisons.
Tested on SPARC64/Solaris 11.4, applied on the mainline.
2024-12-18 Eric
gt;
> gcc/ada/Changelog:
>
> PR target/117538
> * libgnat/s-trasym.adb: Returns the traceback, with the program load address
> if available.
This is OK, thanks. Do you want me to apply it?
--
Eric Botcazou
This fixes a precondition failure triggered when the Eigenvalues routine of
Ada.Numerics.Generic_Real_Arrays is instantiated with -gnata, beause it calls
Sort_Eigensystem on an empty vector.
Tested on x86-64/Linux, applied on all active branches.
2024-12-12 Eric Botcazou
PR ada
> Yes, please, I don't have commit access.
OK, done.
--
Eric Botcazou
> Difference with v3: Refresh
>
> Samuel Thibault (3):
> ada: Factorize bsd signal definitions
> ada: Fix GNU/Hurd priority range
> ada: Add GNU/Hurd x86_64 support
Thanks, this looks good to me. Do you need me to merge it?
--
Eric Botcazou
NIX_PAIRS) and the
associated $(TRASYM_DWARF_UNIX_OBJS).
--
Eric Botcazou
Applied on the mainline.
2024-12-07 Eric Botcazou
* config/sparc/sparc.md (VIS4B instructions): Add comments.
--
Eric Botcazoudiff --git a/gcc/config/sparc/sparc.md b/gcc/config/sparc/sparc.md
index 5fd18b3ca27..159518d4b8f 100644
--- a/gcc/config/sparc/sparc.md
+++ b/gcc/config
> I'm conditionally approving this unless FE maintainers complain before
> holidays (the effect of the hook is re-instantiated during RTL expansion in
> 1/7).
FWIW I'm all for removing this piece of code from FEs.
--
Eric Botcazou
the mnemonics
to the version documented in the Oracle SPARC architecture 2015.
Bootstrapped/regtested on SPARC64/Solaris 10.4, applied on the mainline.
2024-11-24 Eric Botcazou
PR target/117715
* config/sparc/sparc-protos.h (sparc_expand_vcond): Rename to
t please remove the part fiddling with zeros
and just concentrate on printing the load address.
--
Eric Botcazou
default setting in Ada is
-fno-zero-initialized-in-bss instead of -fzero-initialized-in-bss.
Tested on x86-64/Linux, OK for the mainline?
2024-11-22 Eric Botcazou
* doc/invoke.texi (-fno-zero-initialized-in-bss): Adjust for Ada.
* arasm.cc (get_variable_section): Adjust t
This enables symbolic backtraces on the ports listed in the Changelog.
Applied on the mainline.
2024-11-19 Eric Botcazou
PR ada/117538
* Makefile.rtl (GNU Hurd): Add $(TRASYM_DWARF_UNIX_OBJS).
(x86-64 kfreebsd): Likewise.
(aarch64 FreeBSD): Likewise
what was) an
> print_ipcp_constant_value overload for polymorphic contexts which are
> constructible from trees, so the source compiles, but of course are not
> what we want.
Another misfeature of C++ indeed! Thanks for fixing the problem.
--
Eric Botcazou
backported it
onto the active release branches.
--
Eric Botcazou
> --- a/gcc/match.pd
> +++ b/gcc/match.pd
> @@ -3396,10 +3396,11 @@ DEFINE_INT_AND_FLOAT_ROUND_FN (RINT)
> simplify (X != 0 ? X + ~0 : 0) to (X - X != 0). */
The rightmost ( in the comment should be moved 2 tokens right.
--
Eric Botcazou
> Bootstrapped/regtested on x86_64-linux and i686-linux, ok for trunk?
>
> 2024-10-30 Jakub Jelinek
>
> PR target/117296
> * function.cc (assign_parms): Call do_pending_stack_adjust.
>
> * gcc.target/i386/pr117296.c: New test.
Looks good to me.
--
Eric Botcazou
moves
the associated two lines of code:
else if (LABEL_P (insn))
*plabel = as_a (insn);
and otherwise contains just adjustments to the commentary.
Bootstrapped/regtested on SPARC64/Solaris and applied on all active branches.
2024-10-29 Eric Botcazou
PR rtl-optimizat
This is an old glitch in the GNAT RM.
Tested on x86-64/Linux, applied on the mainline.
2024-10-26 Eric Botcazou
PR ada/62122
* doc/gnat_rm/implementation_defined_attributes.rst
(Unrestricted_Access): Remove null exclusion.
* gnat_rm.texi: Regenerate
OK, thanks! (modulo the blank line in the ChangeLog)
--
Eric Botcazou
The original submission patch is at:
https://gcc.gnu.org/pipermail/gcc-patches/2024-September/664127.html
Thanks in advance.
--
Eric Botcazou
The support was removed from the rest of the compiler two years ago.
Applied on the mainline.
2024-10-09 Eric Botcazou
* Makefile.rtl: Remove HP-UX 10 section.
* libgnarl/s-osinte__hpux-dce.ads: Delete.
* libgnarl/s-osinte__hpux-dce.adb: Likewise.
* libgnarl
applied on the mainline.
2024-10-09 Eric Botcazou
PR ada/117038
* fe.h (struct c_array): Add 'const' to declaration of pointer.
(C_Source_Buffer): Use consistent formatting.
* par-ch3.adb (P_Component_Items): Properly set Aliased_Present on
By comparing what happens in 32-bit and 64-bit modes: the 32-bit code is !PIC
whereas the 64-bit is PIC internally, so the processing in the various hooks
legitimate_* and legitimize_* is subtly different between them.
Anyway, let's continue the discussion in the audit trail of PR target/80881.
--
Eric Botcazou
can reproduce this at -O0:
_gcov_indirect_call_profiler_v4.s: Assembler messages:
_gcov_indirect_call_profiler_v4.s:288: Error: 4-byte relocation cannot be
applied to 8-byte field
but not at -O1 or -O2.
--
Eric Botcazou
Pmode, since the emitted assembly is broken when I
> do that)
Do you have a testcase for this particular issue?
--
Eric Botcazou
> Pinging https://gcc.gnu.org/pipermail/gcc-patches/2024-September/662860.html
> as it has been buried under several other patches. Is the patch ok for
> master?
No, you should modify it along the way I suggested privately, and a blocker is
the missing support in the linker AFAICS.
.
- the machinery attempts to initialize Out parameters, which is problematic.
Tested on x86-64/Linux, OK for the mainline?
2024-10-05 Eric Botcazou
PR middle-end/116933
* gimplify.cc (gimple_add_init_for_auto_var): Use the correct macro
to fetch the source location of
, applied on the 14 branch only.
2024-10-04 Eric Botcazou
PR ada/116430
* exp_ch7.adb (Build_Finalizer.Create_Finalizer): For the insertion
point of the finalizer, deal with package bodies that are subunits.
--
Eric Botcazoudiff --git a/gcc/ada/exp_ch7.adb b/gcc/ada
.
Bootstrapped/regtested on Aarch64/Linux, OK for the mainline?
2024-10-01 Eric Botcazou
* config/aarch64/aarch64-linux.h (STACK_CHECK_MOVING_SP): Define to 1.
* config/aarch64/aarch64-protos.h (do_stack_clash_protection): Declare.
* config/aarch64/aarch64.h
__multf3
U __trunctfsf2
to just
T __floattisf
The effect of the change on the second place can be seen on the attached Ada
testcase, which fails without it and passes with it.
Bootstrapped/regtested on Aarch64/Linux, OK for the mainline?
2024-10-01 Eric Botcaz
during inlining.
Tested on x86-64/Linux, OK for the mainline?
2024-10-01 Eric Botcazou
* tree-inline.cc (expand_call_inline): Remove the store to the
return slot if it is a global variable that is only written to.
2024-10-01 Eric Botcazou
* gnat.dg/lto28.adb:
at introduces
a regression for g++.dg/ipa/devirt-39.C, because the vtable is preserved and
in turn forces the method to be preserved, hence the special case for vtables.
The test also renames the first process_references function in ipa.cc to clear
the confusion with the second function in the
, if both the load
and the store are made through the same SSA name, the store is overlooked.
Tested on x86-64/Linux, OK for all active branches?
2024-09-20 Eric Botcazou
* ipa-modref.cc (modref_eaf_analysis::analyze_ssa_name): Always
process both the load and the store of a
ed LHS?
But NRV is only an example and not necessary, as you may read a RESULT_DECL in
the callee. So the combination is actually just RSO + inlining if the callee
happens to read RESULT_DECL.
--
Eric Botcazou
from that point on.
The proposed fix is to always clear the flag during inlining in the RSO case.
Tested on x86-64/Linux, OK for the mainline?
2024-09-11 Eric Botcazou
* tree-inline.cc (declare_return_variable): Clear writeonly flag on
a global variable used directly as the
> commit 72c6938f29cbeddb3220720e68add4cf09ffd794
> Author: Eric Botcazou
> Date: Sun Aug 25 15:20:59 2024 +0200
>
> ada: Streamline handling of low-level peculiarities of record field
> layout
>
> broke the Ada build on SPARC:
>
> In
nch) so any additional path would
be uncovered. If we have evidences that it's not sufficient, then I'm ready
to amend it, but at the moment it would be a bit of a shot in the dark.
--
Eric Botcazou
or aggregate types whose mode
is not BLKmode and this processing deviates from the memcmp semantics when the
target is little-endian.
Tested on x86-64/Linux, OK for the mainline?
2024-07-08 Eric Botcazou
* gimplify.cc (gimplify_scalar_mode_aggregate_compare): Add support
This is an ICE in the RISC-V back-end calling tree_to_uhwi on the DECL_SIZE of
a global variable-length array. Fixed thusly, tested and approved by Jeff in
the audit trail, and applied on the mainline.
2024-07-06 Eric Botcazou
PR target/115591
* config/riscv/riscv.cc
> PR target/115739
>
> gcc/ChangeLog:
>
> * config/sparc/vxworks.h (SPARC_LONG_DOUBLE_TYPE_SIZE): New define.
OK, thanks!
--
Eric Botcazou
for trunk?
Sure, thanks!
--
Eric Botcazou
This passes -m32 when -mv8plus is specified on Linux (like on Solaris).
Applied to mainline and 14 branch.
2024-06-25 Eric Botcazou
PR target/115608
* config/sparc/linux64.h (CC1_SPEC): Pass -m32 for -mv8plus.
--
Eric Botcazoudiff --git a/gcc/config/sparc/linux64.h b/gcc
Tested on x86-64/Linux, applied on the mainline.
2024-06-17 Eric Botcazou
c-family/
* c-ada-spec.cc (is_float16): New predicate.
(dump_ada_node) : Call it.
--
Eric Botcazoudiff --git a/gcc/c-family/c-ada-spec.cc b/gcc/c-family/c-ada-spec.cc
index a41e93aeafb..e1b1b2a4b73
sons in DWARF for the
case where the type is smaller than the "generic type", as is the case here.
Tested on x86-64/Linux, OK for the mainline?
2024-06-03 Eric Botcazou
* dwarf2out.cc (loc_list_from_tree_1) ; Add const.
: Use a signed comparison for small unsigned t
is for long double type, go with the
> + default one for the others. */
> +
> +static machine_mode
> +sparc_c_mode_for_floating_type (enum tree_index ti)
> +{
> + if (ti == TI_LONG_DOUBLE_TYPE)
> +return SPARC_LONG_DOUBLE_TYPE_SIZE == 128 ? TFmode : DFmode;
> + return
cl.cc (gnat_to_gnu_entity): Use TYPE_PRECISION of
> long_double_type_node to replace LONG_DOUBLE_TYPE_SIZE.
OK, thanks.
--
Eric Botcazou
1 - 100 of 1119 matches
Mail list logo