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
ze is a host parameter rather than a target one
though, so config/sparc/sol2.h is probably not the most appropriate place to
override it, but I personally do not mind.
--
Eric Botcazou
on pointers happen to be indirectly modified in the program...
Note that there is an equivalent bypass based on common_or_extern a few lines
below in the function (although I'm not sure if it's problematic TBAA-wise).
--
Eric Botcazou
declared
here
/usr/include/sys/socket.h:130:12: note: code may be misoptimized unless '-fno-
strict-aliasing' is used
The attached patch recognizes the situation and checks the compatibility with
the type of the first member of the union in this case.
Tested on x86-64/Linux, OK for
This fixes the link failure of the GNAT tools on 32-bit SPARC/Linux (as well
as on 32-bit PowerPC/Linux probably) coming from an incorrect binding to the
64-bit compare-and-exchange builtin.
Tested by Rainer on 32-bit SPARC/Linux, applied on mainline and 14 branch.
2024-05-29 Eric Botcazou
This lets it recognize more preprocessing floating constants.
Tested on x86-64/Linux, applied on the mainline.
2024-05-24 Eric Botcazou
* c-ada-spec.cc (is_cpp_float): New predicate.
(dump_number): Deal with more preprocessing floating constants.
(dump_ada_macros
This avoids generating invalid Ada code for functions with a multidimensional
array parameter and also cleans things up left and right.
Tested on x86-64/Linux, applied on the mainline.
2024-05-23 Eric Botcazou
* c-ada-spec.cc (check_type_name_conflict): Add guard
Recent changes made to the runtime library broke again its build on Solaris
because it uses Solaris threads instead of POSIX threads on this platform.
Tested by Rainer, applied on the mainline.
2024-05-21 Eric Botcazou
PR ada/115168
* libgnarl/s-taprop__solaris.adb
Botcazou
PR rtl-optimization/115038
* fold-mem-offsets.cc (fold_offsets): Return 0 if the defining
instruction of the register is frame related.
2024-05-20 Eric Botcazou
* g++.dg/opt/fmo1.C: New test.
--
Eric Botcazoudiff --git a/gcc/fold-mem-offsets.cc b/gcc
Hi,
> Just notice that this patch may result in some ICE when build libc++ for the
> riscv port, details as below. Please note not all configuration can
> reproduce this issue, feel free to ping me if you cannot reproduce this
> issue. CC more riscv port people for awareness.
Sorry for the breaka
The recent changes made to the runtime library broke its build on Solaris
because it uses Solaris threads instead of POSIX threads on this platform.
Tested by Rainer, applied on the mainline.
2024-05-17 Eric Botcazou
Rainer Orth
PR ada/115133
* libgnarl/s
This avoids declaring anonymous array types as having an aliased component
when the layout is packed, as is already done for named array types.
Tested on x86-64/Linux, applied on the mainline.
2024-05-17 Eric Botcazou
* c-ada-spec.cc (bitfield_used): Move around
... which happened in GCC 13.
Validated with W3C's Validator and applied.
--
Eric Botcazoudiff --git a/htdocs/gcc-13/changes.html b/htdocs/gcc-13/changes.html
index e324b782..3ab4a101 100644
--- a/htdocs/gcc-13/changes.html
+++ b/htdocs/gcc-13/changes.html
@@ -770,8 +770,17 @@ You may also want
. We'll use that in a
subsequent change to the Ada front-end to generate fast modulo reduction for
modular types with nonbinary modulus (a little controversial Ada 95 feature).
Tested on x86-64/Linux, OK for the mainline?
2024-04-29 Eric Botcazou
* exp
> OK. Consider waiting to commit though as we want to make it easy to
> cherry pick patches over to the release branch if needed.
Sure. There are a couple more changes on top of it, but all can wait a bit.
--
Eric Botcazou
Hi,
this removes the last parameter of choose_multiplier, which is unused, adds
another assertion and more details to the description and various comments.
Likewise to the closely related invert_mod2n, except for the last parameter.
Tested on x86-64/Linux, OK for the mainline?
2024-04-29 Eric
> For the 20th anniversary of https://gcc.gnu.org/gcc-3.4/sparc-abi.html, a
> new calling convention incompatibility with the vendor compiler (and the
> ABI) has been discovered in 64-bit mode, affecting small structures
> containing arrays of floating-point components. The decision has been made
fix it on Solaris
only at this point.
Bootstrapped/regtested on SPARC/Solaris 11.4 and SPARC64/Linux by Rainer (many
thanks again) and applied on the mainline.
2024-04-25 Eric Botcazou
PR target/114416
* config/sparc/sparc.h (SUN_V9_ABI_COMPATIBILITY): New macro
> Patch is still OK, but ipa-ICF will only identify the functions if
> static chain is unused. Perhaps just picking the winning candidate to be
> version without static chain and making ipa-inline to not ICE when calls
> with static chain lands to function with no static chain would help us
> to op
hich has a
static chain but the other does not. The proposed fix is just to prevent this
identification from occurring.
Tested on x86-64/Linux, OK for all active branches?
2024-03-11 Eric Botcazou
PR ipa/113996
* ipa-icf.h (sem_function): Add static_chain_present member.
They both come from an oversight of mine in the placement of the DIE created
for an enumeration type with reverse scalar storage order.
Tested on x86-64/Linux, both GCC and GDB, applied on mainline as obvious.
2024-03-11 Eric Botcazou
PR debug/113519
PR debug/113777
resulting access value (after dereference) like in
Expand_Allocator_Expression.
Tested on x86-64/Linux, applied on all active branches.
2024-03-07 Eric Botcazou
PR ada/113979
* exp_ch4.adb (Expand_N_Allocator): In the subtype indication case,
call
of compute_trims assume that ref->offset is
byte aligned and that the trimmed bytes are relative to ref->size, so the
patch simply adds an early return if either condition is not fulfilled
Tested on x86-64/Linux, OK for all the affected branches?
2024-02-27 Eric Botcazou
*
references to the local finalization routine, so
the finalization needs to be dropped in this case and the warning adjusted.
Tested on x86-64/Linux, applied on all active branches.
2024-02-26 Eric Botcazou
PR ada/113893
* exp_ch7.adb (Build_Anonymous_Master): Do not build the
It is a regression on the mainline for -fdump-ada-spec in a pathological case.
Tested on x86-64/Linux, applied on the mainline.
2024-01-16 Eric Botcazou
PR ada/113397
* c-ada-spec.cc (check_type_name_conflict): Add guard for the
presence of DECL_NAME on a TYPE_DECL
> Okay, so, the "unsharing everythingā€¯ is done automatically by the compiler
> before gimplification?
See the blurb at gimplify.cc:835 and below about this.
--
Eric Botcazou
No, for the reason described above, so the extra parameter is preexisting for
base_type_die, modified_type_die and add_type_attribute.
--
Eric Botcazou
-01-09 Eric Botcazou
* dwarf2out.cc (modified_type_die): Extend the support of reverse
storage order to enumeration types if -gstrict-dwarf is not passed.
(gen_enumeration_type_die): Add REVERSE parameter and generate the
DIE immediately after the existing one if
, and moving down the
assertion in Expand_Simple_Function_Return.
Tested on SPARC64/Linux, applied on the mainline and 13 branch.
2024-01-09 Eric Botcazou
PR ada/112781
* exp_ch6.ads (Is_Build_In_Place_Function): Adjust description.
* exp_ch6.adb
13 branch.
2024-01-09 Eric Botcazou
PR ada/112781
* sem_ch12.adb (Instantiate_Type): Use Etype instead of Base_Type
consistently to retrieve the ancestor for a derived type.
* sem_ch4.adb (Analyze_Explicit_Dereference): Test Is_Access_Type
, applied on the mainline and 13 branch.
2024-01-09 Eric Botcazou
PR ada/113195
* gcc-interface/utils2.cc (build_binary_op) : Relax
assertion for regular pointer types.
2024-01-09 Eric Botcazou
* gnat.dg/specs/anon4.ads: New test.
--
Eric Botcazou-- { dg
function.
Tested on SPARC64/Linux, applied on the mainline and 13 branch.
2024-01-09 Eric Botcazou
PR rtl-optimization/113140
* reorg.cc (fill_slots_from_thread): If we are to branch after the
last instruction of the function, create an end label.
2024-01-09 Eric
function.
Tested on SPARC64/Linux, applied on the mainline and 13 branch.
2024-01-09 Eric Botcazou
PR rtl-optimization/113140
* reorg.cc (fill_slots_from_thread): If we are to branch after the
last instruction of the function, create an end label.
2024-01-09 Eric
> Conditional moves are not available in SPARC V8.
>
> gcc/testsuite/ChangeLog:
>
> * gcc.dg/ifcvt-4.c: Skip for SPARC V8
OK.
--
Eric Botcazou
e with GCC 10.
I see, thanks for the explanation, the patch is OK then.
> For the OK:ed patches (with your changes), can I push them to
> release/gcc-13 in addition to master?
Sure.
--
Eric Botcazou
orkaround.
OK with this change.
--
Eric Botcazou
> This is to handle the membar_empty instruction that can be generated
> when compiling for UT699.
>
> gcc/ChangeLog:
>
> * config/sparc/sparc.cc (next_active_non_empty_insn): Length 0 treated
> as empty
OK without the superfluous parentheses.
--
Eric Botcazou
sn."
>
> gcc/ChangeLog:
>
> * config/sparc/sync.md (*membar_storeload_leon3): Remove
> (*membar_storeload): Enable for LEON
OK.
--
Eric Botcazou
never seen it though. Is that really a warning issued by GCC?
--
Eric Botcazou
for trunk?
Yes, thanks for fixing this.
--
Eric Botcazou
ects
> or if they do, there's explicit syntactic sugar to make it clearer.
That sounds totally arbitrary though. Algol-derived languages have had nested
subprograms for ages, e.g. Pascal or Ada, and they can be very useful.
--
Eric Botcazou
uot;A" is read but never assigned
> [-gnatwv]
>
> so there is no warning.
Look at the last line of the test (Ada has not used trampolines for ages!).
--
Eric Botcazou
passes have to avoid false negatives, just false
> positives. If a pass updates an instruction with a REG_UNUSED note,
> and the pass is no longer sure whether the register is unused or not,
> the pass can just delete the note.)
Reintroducing the manual management of such notes would be a step backward.
--
Eric Botcazou
This is PR ada/109881, a tree sharing issue for the internal return type
synthesized for a function returning a dynamically-sized type and taking an
Out or In/Out parameter passed by copy.
Tested on x86-64/Linux, applied on mainline, 13 and 12 branches.
2023-11-16 Eric Botcazou
PR
r the mainline?
2023-11-11 Eric Botcazou
* ipa-cp.cc (print_ipcp_constant_value): Move to...
(values_equal_for_ipcp_p): Deal with VAR_DECLs from the
constant pool.
* ipa-prop.cc (ipa_print_constant_value): ...here. Lik
.
Bootstrapped/regtested on x86-64/Linux, OK for the mainline?
2023-11-10 Eric Botcazou
* fold-const.cc (operand_compare::operand_equal_p) :
Deal with nonempty constant CONSTRUCTORs.
(operand_compare::hash_operand) : Hash DECL_FIELD_OFFSET
and DECL_FIELD_BIT_OFFSET
Hi,
the varying case currently falls through to the 1/true case.
Tested on x86_64-suse-linux, OK for mainline, 13 and 12 branches?
2023-09-25 Eric Botcazou
* gimple-range-gori.cc (gori_compute::logical_combine): Add missing
return statement in the varying case.
2023-09-25
1 - 100 of 1073 matches
Mail list logo