escan (prev);
> and those are the only two callers of this function besides the new one
> in combine-stack-adj.c.
OK, let's add a parameter no_rescan to remove_reg_equal_equiv_notes and update
the two callers accordingly.
--
Eric Botcazou
't call
> df_notes_rescan.
OK with me modulo the missing documentation for the new parameter, thanks.
--
Eric Botcazou
zou/install --enable-languages=all --enable-gnu-unique-
object --with-cpu-32=ultrasparc --with-long-double-128 --enable-default-pie --
enable-checking=yes,rtl --disable-nls
Thread model: posix
gcc version 9.3.1 20200501 (GCC)
2020-05-07 Eric Botcazou
* config/abi/post/sparc64-linux-
We mark the type of In parameters in Ada with the const qualifier, but it is
stripped by free_lang_data_in_type so do not do it in LTO mode.
Tested on x86-64/Linux, applied on the mainline.
2020-05-08 Eric Botcazou
* gcc-interface/decl.c (gnat_to_gnu_param): Do not make a variant
, applied on the mainline.
2020-05-08 Eric Botcazou
* gcc-interface/decl.c (gnat_to_gnu_entity) : Deal
with artificial maximally-sized types designed by access types.
* gcc-interface/utils.c (packable_type_hash): New structure.
(packable_type_hasher): Likewise
Two aliased objects must have distinct addresses, even if they have size zero,
so we make sure to allocate at least one byte for them.
Tested on x86-64/Linux, applied on the mainline.
2020-05-08 Eric Botcazou
* gcc-interface/decl.c (gnat_to_gnu_entity) : Force at
least the
The information was missing in cases the front-end was able to turn the range
comparison into a simple comparison.
Tested on x86-64/Linux, applied on the mainline.
2020-05-08 Eric Botcazou
* gcc-interface/trans.c (Raise_Error_to_gnu): Always compute a lower
bound and an
ecause the dbr pass had reordered something. I also used
CoreMark for the Visium transition and recouped the (tiny) losses in the end.
--
Eric Botcazou
No functional changes.
2020-05-09 Eric Botcazou
* gcc-interface/gigi.h (change_qualified_type): Move around.
(maybe_vector_array): Likewise.
(maybe_padded_object): New static line function.
* gcc-interface/trans.c (Attribute_to_gnu) :
Remove useless
It was in the ada/gcc-interface directory and is outdated.
Tested on x86-64/Linux, applied on the mainline.
2020-05-09 Eric Botcazou
* tree.h (expr_align): Delete.
* tree.c (expr_align): Likewise.
2020-05-09 Eric Botcazou
* gcc-interface/utils2.c: Include
This happens when it is passed by copy and not passed in.
Tested on x86-64/Linux, applied on the mainline.
2020-05-09 Eric Botcazou
* gcc-interface/decl.c (gnat_to_gnu_param): Also back-annotate the
mechanism in the case of an Out parameter only passed by copy-out.
--
Eric
Aggregates can be surrounded by a qualified expression and this prepares the
support code in gigi for accepting them.
Tested on x86-64/Linux, applied on the mainline.
2020-05-09 Eric Botcazou
* gcc-interface/trans.c (gnat_to_gnu) : Deal
with qualified "others" agg
This prevents gigi from effectively making a local copy of large aggregates.
Tested on x86-64/Linux, applied on the mainline.
2020-05-09 Eric Botcazou
* gcc-interface/trans.c (lvalue_required_p) :
Merge with N_Slice.
: Move to...
(lvalue_for_aggregate_p
This can happen because we build an array type on the fly in case there is an
apparent type inconsistency in the construct.
Tested on x86-64/Linux, applied on the mainline.
2020-05-09 Eric Botcazou
* gcc-interface/utils2.c (build_binary_op) : Use
build_nonshared_array_type
This is the mode where the GNAT compiler does not use special encodings in the
debug info to describe some Ada constructs, for example packed array types.
Tested on x86-64/Linux, applied on the mainline.
2020-05-09 Eric Botcazou
* gcc-interface/ada-tree.h (TYPE_PACKED_ARRAY_TYPE_P
This fixes an oversight in the new canonicalization code for packable types:
it does not take into account the scalar storage order.
Tested on x86-64/Linux and SPARC/Solaris, applied on the mainline.
2020-05-12 Eric Botcazou
PR ada/95035
* gcc-interface/utils.c
This makes sure that gigi is prepared to handle more aggregates in the special
memset code path.
Tested on x86-64/Linux, applied on the mainline.
2020-05-12 Eric Botcazou
* sem_aggr.ads (Is_Single_Aggregate): New function.
* sem_aggr.adb (Is_Others_Aggregate): Use local
The C/C++ bindings generated by means of -fdump-ada-spec always contain with
and use clauses for Interfaces.C, but they can be unused in some cases so make
sure to avoid warning about that.
Tested on x86-64/Linux, applied on the mainline.
2020-05-12 Eric Botcazou
c-family/
* c-ada
> Did I mention I dislike -fsplit-dwarf? ;)
Seconded, this will be confusing for almost all users. Since the option only
affects debug info generation, it should be prefixed with 'g' in any case.
--
Eric Botcazou
Under very specific circumstances the compiler can generate a wrong assignment
to a mutable record object which contains an array component, because it does
not correctly handle the update of the discriminant.
Tested on x86-64/Linux, applied on the mainline.
2020-05-25 Eric Botcazou
This makes a step back in the representation of fat pointer types in the debug
info with -fgnat-encodings=minimal so as to avoid hiding the data indirection
and making it easier for GDB to synthetize the construct.
Tested on x86-64/Linux, applied on the mainline.
2020-05-25 Eric Botcazou
The compiler can mishandle a Component_Size clause on an array type specifying
a size multiple of the storage unit, when this size is not a multiple of the
alignment of the component type.
Tested on x86-64/Linux, applied on the mainline.
2020-05-25 Eric Botcazou
* gcc-interface
Gigi fails to back-annotate the Present_Expr field of variants present in a
type derived from a discriminated untagged record type, which is for example
visible in the output -gnatRj.
Tested on x86-64/Linux, applied on the mainline.
2020-05-25 Eric Botcazou
* gcc-interface/decl.c
> This is the mode where the GNAT compiler does not use special encodings in
> the debug info to describe some Ada constructs, for example packed array
> types.
This fixes a small fallout of the patch. Tested on x86-64/Linux, applied on
the mainline.
2020-05-25 Eric Botcazou
on the mainline.
2020-05-25 Eric Botcazou
* gcc-interface/decl.c (gnat_to_gnu_entity): Add new local variable
and use it throughout the function.
: Rename local variable and adjust accordingly. In the
case of a renaming, materialize the entity if the renamed
x86-64/Linux, OK for the mainline?
2020-05-25 Eric Botcazou
* gimple-ssa-store-merging.c (merged_store_group::can_be_merged_into):
Only turn MEM_REFs into bit-field stores for small bit-field regions.
(imm_store_chain_info::output_merged_store): Be prepared for sources
ucible only on Ada(?).
Yes, this can only happen in Ada because it effectively can have bit-fields of
any type, and not only of integral types.
--
Eric Botcazou
NULL_TREE
|| (maybe_gt (bitsize,
(unsigned int) MAX_BITSIZE_MODE_ANY_INT)
&& TREE_CODE (rhs) != INTEGER_CST
&& (TREE_CODE (rhs) != CONSTRUCTOR
|| CONSTRUCTOR_NELTS (rhs) != 0)));
--
Eric Botcazou
_bswapdi2 in the worst case).
Tested on x86-64/Linux, OK for the mainline?
2020-05-27 Eric Botcazou
gcc/ChangeLog:
* builtin-types.def (BT_UINT128): New primitive type.
(BT_FN_UINT128_UINT128): New function type.
* builtins.def (BUILT_IN_BSWAP128): New GCC builtin
> Please use int128 effective target rather than lp64 in the tests that need
> __int128 type.
OK, thanks, adjusted locally.
--
Eric Botcazou
Eric Botcazou
* gimple-fold.c (gimple_fold_builtin_memory_op): Do not replace with a
scalar copy if either type has reverse scalar storage order.
* tree-ssa-sccvn.c (vn_reference_lookup_3): Do not propagate through a
memory copy if either type has reverse scalar
The usual stupid confusion between bits and bytes... The tree-pretty-print.c
hunk is unrelated and has been approved by Richard elsewhere.
Tested on SPARC64/Linux, applied on the mainline as obvious.
2020-06-02 Eric Botcazou
PR middle-end/95395
* optabs.c (expand_unop): Fix
[Starting with tne VN issue]
> For the VN case the issue is interpreting a read via memcpy (non
> reverse-storage) as a reverse-storage one when matching up with a hashtable
> entry from a regular reverse-storage order store, correct?
It's a read from a scalar (hence native order) combined with a
ion
> expansion ended up expanding a SSA definition RHS which should
> already have taken care of setting the appropriate MEM_ATTRS.
Do we really need to ditch the entire ARRAY_REF path though? Aren't we going
to lose some (trivial) disambiguation possibilities later on by recording the
ARRAY_REF instead of DECL or COMPONENT_REF (+ offset)?
--
Eric Botcazou
y also be
backported onto the 10 branch without too much risk.
--
Eric Botcazou
ng to t
> + remains the same and first_prob is prob * cprob. */
>else
> {
> profile_probability first_prob = prob.split (cprob);
prob.split adjusts prob so this needs to be reflected in the comment (maybe
"adjusted prob" or the formula if it is simple). Otherwise looks good to me.
--
Eric Botcazou
prob.split (cprob.invert ()).invert ();
> + prob = prob.invert ();
> /* If we only jump if true, just bypass the second
jump. */
> if (! if_false_label)
> {
OK, thanks, but aren't there missing TABs in the new version? Only one line
is changed in the end AFAICS.
--
Eric Botcazou
nt, so the code needs to
be able to deal with this nested type.
Tested on x86-64/Linux, applied on the mainline as obvious.
2020-12-10 Eric Botcazou
* dwarf2out.c (loc_list_from_tree_1) : Deal with
a nested context type
--
Eric Botcazoudiff --git a/gcc/dwarf2out.c b/gcc/d
> 2020-12-10 Jakub Jelinek
>
> PR rtl-optimization/98212
> * dojump.c (do_compare_rtx_and_jump): Change computation of
> first_prob for and_them. Add comment explaining and_them case.
>
> * gcc.dg/predict-8.c: Adjust expected probability.
Mod): Use base
type of argument to obtain static bound and required size.
2020-12-10 Eric Botcazou
* gnat.dg/modular6.adb: New test.
--
Eric Botcazoudiff --git a/gcc/ada/exp_attr.adb b/gcc/ada/exp_attr.adb
index 251fa1449c4..b21592c78b2 100644
--- a/gcc/ada/exp_attr.adb
+++
ppc64 BE distro releases defaulted to -m32.
> Newer ppc64 BE distro releases now default to -m64.
No problem with that, as long as the default is clearly set.
--
Eric Botcazou
d two different packages for the system compiler?
--
Eric Botcazou
the type of case label values,
and MINVAL and RANGE are derived from those values).
so PR tree-optimization/98272 exhibits a precision mismatch now.
Bootstrapped/regtested on x86-64/Linux, OK for the mainline?
2020-12-15 Eric Botcazou
PR tree-optimization/98272
* tre
The underlying bug was fixed by Marc in July 2019:
2019-07-10 Marc Glisse
* wide-int.h (wi::lshift): Reject negative values for the fastpath.
and Richard B. agreed to the backport onto the 9 branch.
Bootstrapped/regtested and applied on the 9 branch.
2021-01-06 Eric Botcazou
debug info, therefore
> the patch is a bit awkward.
Please run the GDB testsuite with Ada support on the patch.
--
Eric Botcazou
Unlike the other global variables, it is not reset at the beginning of a
function so can leak into the next one.
Tested on x86-64/Linux, applied on the mainline as obvious.
2021-01-15 Eric Botcazou
* final.c (final_start_function_1): Reset force_source_line.
--
Eric Botcazoudiff
is not supported by this target
>
> Fixed as follows.
>
> Tested on i386-pc-solaris2.11 and x86_64-pc-linux-gnu. Installed on
> master.
Backported into 10 branch as obvious.
--
Eric Botcazou
It's a long-standing GENERIC tree sharing issue.
Tested on x86_64-suse-linux, applied on the mainline, 10 and 9 branches.
2021-01-19 Eric Botcazou
PR ada/98740
* gcc-interface/trans.c (add_decl_expr): Always mark TYPE_ADA_SIZE.
--
Eric Botcazoudiff --git a/gcc/ad
> * config/sparch/rtemself.h (TARGET_OS_CPP_BUILTINS): Add built-in define
> __FIX_LEON3FT_TN0018.
OK for whichever branch(es) you deem appropriate.
--
Eric Botcazou
gine without a testcase how you can end up inheriting anything
for CONSTANT_CLASS_P or CONSTRUCTOR though: where do the MEM_ATTRs come from?
--
Eric Botcazou
> This patch fixes walk_tree_1 to call the function on the TYPE_DECL, as we do
> for other decls of a DECL_EXPR.
Where is that done exactly? The only case handled by DECL_EXPR is TYPE_DECL.
The correct thing to do is clearly implied by the first line in your patch.
--
Eric Botcazou
AT_MODE_P (TYPE_MODE (srctype) )
>
> || TREE_CODE (srctype) == BOOLEAN_TYPE
> || TREE_CODE (srctype) == ENUMERAL_TYPE)
>
> srctype = bitwise_type_for_mode (TYPE_MODE (srctype));
>
> with || TYPE_REVERSE_STORAGE_ORDER (srctype) (same for desttype)?
We don't have TYPE_REVERSE_STORAGE_ORDER qualified types, the flag is only set
on aggregate types and bitwise_type_for_mode will return an integer type.
--
Eric Botcazou
calls to remap_decl[s]. And note that remap_decl has had a special
handling for DECL_ORIGINAL_TYPE of TYPE_DECLs since 2003. Are you sure the
problem is not that the TYPE_DECL is not attached to the enclosing BIND_EXPR?
--
Eric Botcazou
b is reverse storage order?
No, that's supported, again the point of the discussion is precisely to make
it work!
> Thus, if all this is a problem then I think we're papering over the issue
> by not folding memcpy.
I don't really see why you're insisting on folding memcpy. It's semantically
equivalent to VIEW_CONVERT_EXPR so it needs to be treated the same way.
--
Eric Botcazou
this will mean that
remap_decl is invoked 3 times per TYPE_DECL: first twice from copy_bind_expr
and then once again for the DECL_EXPR. But probably no big deal in the end.
--
Eric Botcazou
> Like this?
Fine with me, thanks!
--
Eric Botcazou
ted on x86-64/Linux, OK for the mainline?
2020-06-11 Eric Botcazou
* tree-sra.c (propagate_subaccesses_from_rhs): When a non-scalar
access on the LHS is replaced with a scalar access, propagate the
TYPE_REVERSE_STORAGE_ORDER flag of the type of the original access.
2
06-11 Eric Botcazou
* gimplify.c (gimplify_init_constructor) : Declare new
ENSURE_SINGLE_ACCESS constant and move variables down. If it is true
and all elements are zero, then always clear. Return GS_ERROR if a
temporary would be created for i
the same underlying structure.
We also block SRA when there is a VIEW_CONVERT_EXPR messing with the storage
order, see calls to storage_order_barrier_p. And folding a memcpy between
them should be invalid too (see e.g. the ongoing discussion with Richard in an
earlier thread). So my underst
ld_ref_for_model
> instead?
Well, the code is a bypass that builds an access on the LHS from a model of
the RHS(!), so things need to be patched up and I'd rather not introduce bugs
elsewhere if possible...
--
Eric Botcazou
The main changes are 1) the bulk of the implementation is put back entirely in
gnat_to_gnu_entity and 2) the handling of lvalues is unified, i.e. no longer
depends on the Materialize_Entity flag being present on the entity.
Tested on x86-64/Linux, applied on the mainline.
2020-06-23 Eric
This changes the compiler to emit debug info for user-defined subtypes even
with -fgnat-encodings=minimal, as they might be needed by the debugger.
Tested on x86-64/Linux, applied on the mainline.
2020-06-23 Eric Botcazou
* gcc-interface/decl.c (gnat_to_gnu_entity) : Set
This makes it possible for global dynamic types to reference the DIE of these
integral variables.
Tested on x86-64/Linux, applied on the mainline.
2020-06-23 Eric Botcazou
* gcc-interface/utils.c (gnat_write_global_declarations): Output the
integral global variables first
The problem is that Has_Constrained_Partial_View must be tested on the base
type of the designated type of an allocator.
Tested on x86-64/Linux, applied on all active branches.
2020-06-23 Eric Botcazou
* gcc-interface/trans.c (gnat_to_gnu) : Minor tweaks.
Call
optimize_range_tests_to_bit_test to use the range
info of the input in order to eliminate the new test if possible.
Tested on x86-64/Linux, OK for the mainline?
2020-06-25 Eric Botcazou
* tree-ssa-reassoc.c (dump_range_entry): New function.
(debug_range_entry): New debug function
lag.
Tested on x86-64/Linux, OK for the mainline?
2020-07-01 Eric Botcazou
* gimple-fold.c (gimple_fold_builtin_memory_op): Fold calls that were
initially created for the assignment of a variable-sized object.
* gimple-ssa-store-merging.c (struct merged_sto
y folding part looks OK to me, I skimmed the
> store-merging change and didn't find anything suspicious but I wonder
> whether not special-casing STRING_CSTs would actually simplify
> the code?
This would mean implementing the 1) though and, in particular, rejecting or
splitting long strings, which is precisely what we do not want to do in Ada.
--
Eric Botcazou
> Hmm, that's a good question - so would your patch be replaceable by
> simply amending var_decl_component_p by
>
> (var_decl_component_p (TREE_OPERAND (src, 0))
>
>|| TREE_CODE (TREE_OPERAND (src, 0)) == STRING_CST)
>
> ?
The gimple_call_alloca_for_var_p (stmt) kludge is still needed tho
aggregate is
guaranteed to trigger an ICE with the current implementation.
We now reject them again, except if the -gnatd.K switch is passed.
Tested on x86-64/Linux, applied on the mainline.
2020-07-02 Eric Botcazou
* debug.adb (d.K): Document new usage.
* fe.h (Debug_Flag_Dot_KK
sources at the end for store-merging to be happy.
OK.
--
Eric Botcazou
> So this variant combined with the rest of the patch is OK then.
Thanks. It occurred to me that using string_constant might be slightly better
(iti is already used by gimple_fold_builtin_memchr in the same file).
* gimple-fold.c (gimple_fold_builtin_memory_op): Fold calls that were
> that broke the build of an ada cross compiler targeting
> powerpc64le-linux-gnu. target_cpu is powerpc64le which is not matched by
> the Makefile logic.
>
> Ok for the trunk?
>
> PR ada/97859
> * Makefile.rtl (powerpc% linux%): Also match powerpc64le cpu.
the
gcc/ directory of the build tree:
make
[relink of gnat1, brig1, cc1plus, d21, f951, go1, lto1, ...]
make
[relink of gnat1, brig1, cc1plus, d21, f951, go1, lto1, ...]
--
Eric Botcazou
> Does it?
> Only with --enable-link-serialization, or without that too?
It's the default, i.e. without --enable-link-serialization.
> Will have a look.
Thanks.
--
Eric Botcazou
We need to include limits.h (or ) in adaint.c because of LLONG_MIN.
Tested on x86-64/Linux, applied on the mainline.
2020-11-19 Eric Botcazou
PR ada/97805
* adaint.c: Include climits in C++ and limits.h otherwise.
--
Eric Botcazoudiff --git a/gcc/ada/adaint.c b/gcc/ada
is detected in the
series of stores, thanks to the handling of STRING_CST by native_encode_expr.
Tested on x86-64/Linux, OK for the mainline?
2020-11-19 Eric Botcazou
* gimple-ssa-store-merging.c (struct merged_store_group): Add
new 'consecutive
> Successfully bootstrapped/regtested on x86_64-linux and i686-linux,
> including make install which looked problematic in PR97911.
>
> Ok for trunk?
I cannot really approve, but this looks like a step in the right direction.
--
Eric Botcazou
&& REGNO (SUBREG_REG (in)) < FIRST_PSEUDO_REGISTER
&& !REG_CAN_CHANGE_MODE_P (REGNO (SUBREG_REG (in)),
GET_MODE (SUBREG_REG
(in)), inmode
instead?
--
Eric Botcazou
bly need a formal ack from Ulrich(?) or Jeff though.
--
Eric Botcazou
f saw but, on the
other hand, this could have been very marginal a phenomenon in the end.
--
Eric Botcazou
imized sequence using a delay
slot of call instruction related to R_SPARC_TLS_GD_CALL relocation confuses
the linker and causes it to produce invalid code."
Tested on SPARC64/Linux and SPARC/Solaris, applied on the mainline (for now).
2020-11-26 Eric Botcazou
PR target/96607
and 9 branches.
2020-11-28 Eric Botcazou
PR target/97939
* config/sparc/predicates.md (arith_double_add_operand): Comment.
* config/sparc/sparc.md (uaddvdi4): Use arith_double_operand.
(addvdi4): Use arith_double_add_operand.
(addsi3): Remove useless
This fixes an issue with nested structures and adds an Alignment clause to
counter the effect of the Pack aspect.
Tested on x86_64/Linux, applied on the mainline.
2020-11-28 Eric Botcazou
c-family/
* c-ada-spec.c (dump_nested_type) : Remove obsolete code.
(dump_ada_structure
.
2020-12-01 Eric Botcazou
* function.c (gen_call_used_regs_seq): In a function subject to the
leaf register optimization, skip registers that are not present.
* config/sparc/sparc.c (TARGET_ZERO_CALL_USED_REGS): Define to...
(sparc_zero_call_used_regs): ...this
This upgrades the ACATS tesuite present in ada/acats from 2.5 to latest 2.6,
removing 3 tests and adding 11 tests, some of them written very recently.
Tested on x86-64/Linux, SPARC64/Linux, PowerPC64/Linux and SPARC/Solaris,
applied on the mainline.
2020-12-02 Eric Botcazou
Hi,
this replaces the ICE by a sorry message for the use of reverse scalar storage
order with a 128-bit decimal floating-point type on 32-bit platforms.
Tested on x86-64/Linux, OK for the mainline?
2020-12-03 Eric Botcazou
* expmed.c (flip_storage_order): In the case of a non
-03 Eric Botcazou
PR middle-end/98082
* function.c (use_register_for_decl): Also return true for a result
if cfun->tail_call_marked is true.
2020-12-03 Eric Botcazou
* g++.dg/cpp2a/pr98082.C: New test.
--
Eric Botcazoudiff --git a/gcc/function.c b/
> This breaks build of libada, it is missing all of $(GNATRTL_128BIT_OBJS).
In the default multilib? Yes, that's the point, since it's 32-bit apparently.
--
Eric Botcazou
cannot support both given the current setup, so you'll have to
make a choice for the powerpc64-suse-linux compiler.
--
Eric Botcazou
Ada testcase.
The attached fix relaxes the check, OK for mainline and 10 branch?
2020-12-03 Eric Botcazou
* ipa-sra.c (verify_access_tree_1): Relax assertion on the size.
2020-12-03 Eric Botcazou
* gnat.dg/opt91.ad[sb]: New test.
* gnat.dg/opt91_pkg.ad[sb]: New
> I think you need to add an effective-target check, because the new test
> fails on aarch64/arm:
Done.
--
Eric Botcazou
> Now there are only AVR and CR16 that need to be converted. Great progress!
Indeed, but why does CR16 not have the 'c' letter then?
--
Eric Botcazou
> I noticed that as well.
OK, now corrected.
--
Eric Botcazou
The new ranger exposed a problematic conversion to boolean type done in gigi.
Tested on x86-64/Linux, applied on the mainline.
2020-12-07 Eric Botcazou
* gcc-interface/utils.c (convert) : Call fold_convert
in the cases where convert_to_integer is not called.
: Call
for this size,
and the size of the component given by the representation clause is lower than
the value of this bound rounded up to the alignment.
Tested on x86-64/Linux, applied on the mainline.
2020-12-07 Eric Botcazou
* gcc-interface/trans.c (Call_to_gnu): Also create a temporary
> 2020-11-11 Eric Botcazou
>
> * exp_dbug.adb (Is_Handled_Scale_Factor): Delete.
> (Get_Encoded_Name): Do not call it.
> * gcc-interface/decl.c (gnat_to_gnu_entity) :
> Tidy up and always use a meaningful description for arbitrary
> scale f
Gigi uses a dummy global variable to register global types for debug info
purposes and its name can now collide with user variables.
Tested on x86-64/Linux, applied on the mainline and 10 branch.
2020-12-07 Eric Botcazou
* gcc-interface/trans.c (lvalue_for_aggregate_p): Also return
, applied on the mainline, 10 and 9 branches.
2020-12-07 Eric Botcazou
* gcc-interface/trans.c (maybe_make_gnu_thunk): Return false if the
target is local and thunk and target do not have the same context.
--
Eric Botcazoudiff --git a/gcc/ada/gcc-interface/trans.c b/gcc/ada
Hi,
the very recent addition of the if_to_switch pass has partially disabled the
optimization I added back in June:
2020-06-26 Eric Botcazou
* tree-ssa-reassoc.c (dump_range_entry): New function.
(debug_range_entry): New debug function.
(update_range_test): Invoke
t (boolean_type_node, 1));
Richard is correct, this is the RM maximum value, not the GCC maximum value.
All Ada integral types have maximum GCC bounds for their precision like in C.
--
Eric Botcazou
901 - 1000 of 4591 matches
Mail list logo