ransition as well.
Tested on x86_64-suse-linux, OK for the mainline and 4.7 branch?
2012-07-18 Eric Botcazou
* tree-ssa-ccp.c (valid_lattice_transition): Allow transitioning from
as well as to INTEGER_CST.
2012-07-18 Eric Botcazou
* gnat.dg/loop_optimizatio
ass is run and yield invalid GENERIC and later invalid GIMPLE.
Tested on x86_64-suse-linux, OK for the mainline and 4.7 branch?
2012-07-18 Eric Botcazou
* gimple-fold.c (canonicalize_constructor_val): Strip only useless type
conversions.
2012-07-18 Eric Botcazou
names.
Tested on x86_64-suse-linux, OK for the mainline and 4.7 branch?
2012-07-18 Eric Botcazou
* tree-ssa-forwprop.c (combine_conversions): Punt if the RHS of the
defining statement is a SSA name that occurs in abnormal PHIs.
2012-07-18 Eric Botcazou
* gnat.dg/aggr20.
and turning ZCX_By_Default to False.
--
Eric Botcazou
* If any part of an address is UNDEFINED, like the index
> +of an ARRAY_EXPR, then treat the result as UNDEFINED. */
> + return UNDEFINED;
> +
> default:
> ;
> }
I can do the full testing if you're happy with it.
--
Eric Botcazou
ed in the first message.
--
Eric Botcazou
4.7 branch.
2012-07-19 Eric Botcazou
* gcc-interface/decl.c (gnat_to_gnu_entity) : Do not
look up the REP part of the base type in advance. Deal with that of
the variant types.
(get_rep_part): Be prepared for record types with fields.
2012-07-19 Eric
* config/i386/cygming.h (TARGET_ASM_EMIT_EXCEPT_PERSONALITY): Define.
> (TARGET_ASM_INIT_SECTIONS): Define.
> * common/config/i386/i386-common.c (TARGET_EXCEPT_UNWIND_INFO): Define.
> (i386_except_unwind_info): New function.
Don't we need something in ada/ as well? PR ada/54028 reports a build failure.
--
Eric Botcazou
> Bootstrapped and tested on x86_64-unknown-linux-gnu, applied to trunk
> (Eric, if you want to do the testing on the branch and do the backport
> that would be nice).
Done. Thanks for your help.
--
Eric Botcazou
type and is
later used for dispatching, because the primitive operations (methods) of the
derived type expect the larger alignment.
Tested on x86_64-suse-linux, applied on the mainline and 4.7 branch.
2012-07-19 Eric Botcazou
* gcc-interface/decl.c (gnat_to_gnu_entity) : Try to ensure
There is now a tail call in Time_Of with lot of 64-bit quantities around,
including arguments, and this exposes an oversight in adddi3_insn_sp32.
Bootstrapped/regtested on SPARC/Solaris, applied on mainline and 4.7 branch.
2012-07-19 Eric Botcazou
* config/sparc/sparc.md
mainline?
2012-07-25 Eric Botcazou
* expr.c (expand_expr_real_1): Do not expand operand #1 and #2
of BIT_FIELD_REF for ignored results.
* fold-const.c (fold_ternary_loc) : Check that the
CONSTRUCTOR has vector type before using vector accessors on it
in there.
--
Eric Botcazou
branch?
2012-04-26 Eric Botcazou
PR target/48496
* recog.c (constrain_operands): If extra constraints are present,
accept pseudo-registers with equivalent memory locations during reload.
--
Eric Botcazou
iased Chunk_Id (1, Static_Secondary_Stack_Size);
> ^
> make[9]: *** [s-secsta.o] Error 1
Yes, because of a spurious TREE_OVERFLOW set on a sizetype calculation that
cannot overflow. Not really fixable in isolation, so I didn't pursue.
--
Eric Botcazou
es4
> # of expected failures 13
> # of unsupported tests 2
>
> === gnat Summary ===
>
> # of expected passes2186
> # of unexpected failures 8
> # of expected failures 26
> # of unsupported tests 4
>
>
> Which I consider reasonable?
Sure, no opposition by me to applying the whole set of patches.
--
Eric Botcazou
ranch though, these stack layout
issues are very nasty.
--
Eric Botcazou
the exact
predicate, because it cannot compute it in all cases by the time it encounters
the N_Validate_Unchecked_Conversion node.
Fixed by waiting until the very end of the translation to issue the warning.
Tested on i586-suse-linux, applied on the mainline.
2012-04-30 Eric Botcazou
the
4.7 branch (as obvious for the i386.c hunk).
2012-04-30 Eric Botcazou
* config/i386/i386.c (ix86_handle_struct_attribute): Use the proper
predicate to discriminate types.
2012-04-30 Eric Botcazou
* gcc-interface/utils.c (finish_record_type): Force the
n the mainline.
2012-04-30 Eric Botcazou
* gcc-interface/decl.c (gnat_to_gnu_entity): In type annotation mode,
do not adjust the size of a tagged type if there is a representation
clause on it. Otherwise, round the adjustment up to the alignment
of the first fiel
Jakub,
> 2012-04-26 Eric Botcazou
>
> PR target/48496
> * recog.c (constrain_operands): If extra constraints are present,
> accept pseudo-registers with equivalent memory locations during reload.
Is this version OK with you?
--
Eric Botcazou
atch attempts to pass a suffix in this case too.
Tested on i586-suse-linux and with the aforementioned cross-native build, OK
for the mainline?
2012-05-04 Eric Botcazou
* configure.ac (PLUGIN_LD): Rename into...
(PLUGIN_LD_SUFFIX): ...this and strip the target_al
we make them
agree, one way or the other?
> * gcc.c-torture/execute/20110418-1.c: New testcase.
This needs to be updated a little bit. :-)
--
Eric Botcazou
> OK, revision 184558 now reverted.
Now on the 4.7 branch as well.
--
Eric Botcazou
> Ok, so I plan to push this sparc fix into mainline and the 4.7 branch after
> my testing is done.
>
> Eric, any objections?
For the record, none.
--
Eric Botcazou
Like for front-end warnings.
Tested on i586-suse-linux, applied on the mainline.
2012-05-06 Eric Botcazou
* gcc-interface/misc.c (gnat_post_options): Disable caret by default.
--
Eric Botcazou
Index: gcc-interface/misc.c
In Ada, we have issues with vectorization when full checks are enabled, most
notably -gnato. This patch makes it possible to vectorize more loops at -O3.
Tested on i586-suse-linux, applied on the mainline.
2012-05-06 Eric Botcazou
* gcc-interface/trans.c (Loop_Statement_to_gnu
We failed to use the padded type for the renaming as in the non-private case.
Tested on i586-suse-linux, applied on the mainline.
2012-05-06 Eric Botcazou
* gcc-interface/decl.c (gnat_to_gnu_entity) : In the renaming
case, use the padded type if the renamed object has an
Gingold
* gnat.dg/warn7.adb: New test.
--
Eric Botcazou
-- { dg-do compile }
procedure Warn7 is
procedure Nested;
pragma No_Return (Nested);
procedure Nested is
begin
raise Constraint_Error;
exception
when Constraint_Error =>
raise;
end;
be
f_base_and_extent.
Tentative fix attached. Tested on x86_64-suse-linux and i586-suse-linux.
2012-05-07 Eric Botcazou
* tree-dfa.c (get_ref_base_and_extent) : Do the offset
computation using the precision of the index type.
* gimple-fold.c (fold_const_aggregate_
/msg00452.html
Thanks in advance.
--
Eric Botcazou
R of unsigned types (sizetype)
> to TRUNC_DIV_EXPR anyways.
I think that a bit position is treated as non-negative, so bitpos can use
TRUNC_DIV_EXPR in byte_from_pos and you need to use FLOOR_MOD_EXPR to get a
non-negative *pbitpos in pos_from_bit. Very likely obsolete now indeed.
--
Eric Botcazou
&& !(TREE_CODE (gnu_type) == INTEGER_TYPE
> ! && TYPE_IS_SIZETYPE (gnu_type)))
> return No_Uint;
> #endif
>
> --- 178,184
> if (host_integerp (Input, 0))
> return UI_From_Int (TREE_INT_CST_LOW (Input));
> else if (TREE_INT_CST_HIGH (Input) < 0
> !&& TYPE_UNSIGNED (gnu_type))
> return No_Uint;
> #endif
&& TYPE_UNSIGNED (gnu_type)) on the same line.
--
Eric Botcazou
o -g
(ICE in splice_child_die). Therefore, the patch implements the alternate
solution of gimplifying DECL_ORIGINAL_TYPE.
Bootstrapped/regtested on x86_64-suse-linux, OK for mainline and 4.7 branch?
2012-05-09 Eric Botcazou
* gimplify.c (gimplify_decl_expr): For a TYPE_DECL,
rmediate) overflow.
This assumption is necessary to fold the expressions as much as possible,
so as to avoid creating artificially variable-sized types in languages
supporting variable-sized types like Ada. */
--
Eric Botcazou
me
> point?)
These types are like any other types in Ada. Either DECL_ORIGINAL_TYPE is
purely for debug info and then we shouldn't stream it for LTO or it isn't and
it needs to be gimplified. My personal inclination would be for the former,
but this is apparently problematic for C++. I can add a ??? comment though.
--
Eric Botcazou
might be
> something to explore for 4.8.
OK, I'll think about it. No objections by me to going ahead with the patches.
--
Eric Botcazou
s
> (well, at least I did not find a good use of it until now ...).
Maybe it's also obsolete by now.
--
Eric Botcazou
Something changed recently, probably in the back-end, and this broke bootstrap
with Ada enabled because the gnattools cannot be linked anymore.
Fixed thusly, bootstrapped/regtested on PowerPC/Linux, applied on the mainline.
2012-05-12 Eric Botcazou
* gcc-interface/Makefile.in
Botcazou
* function.c (requires_stack_frame_p): If the function can throw
non-call exceptions, return true if the insn can throw internally.
2012-05-12 Eric Botcazou
* gnat.dg/null_pointer_deref3.adb: New test.
--
Eric Botcazou
Index: function.c
.byte 198
Bootstrapped/regtested on i586-suse-linux, OK for mainline?
2012-05-13 Eric Botcazou
* gimplify.c (gimplify_init_constructor): Do a block move for very
small objects as well.
--
Eric Botcazou
Index:
l
has the ECF_LOOPING_CONST_OR_PURE flag.
--
Eric Botcazou
Index: stor-layout.c
===
--- stor-layout.c (revision 187435)
+++ stor-layout.c (working copy)
@@ -786,25 +786,29 @@ start_record_layout (tree t)
}
/* Return the
* stor-layout.c (bit_from_pos): Distribute conversion to bitsizetype
in a PLUS_EXPR byte offset.
* tree-ssa-pre.c (can_value_number_call): Delete.
(compute_avail): Skip all statements with side effects.
: Skip calls to internal functions.
--
Eric Botcazo
> The following patch fixes the build (not reg-tested, but looks obvious):
>
> 2012-05-14 Tristan Gingold
>
> * config/ia64/ia64.c (ia64_expand_prologue): Adjust calls to
> plus_constant.
Yes, that's the correct fix. Sorry for the stupid breakage.
--
Eric Botcazou
inside an abstract subprogram?
Indeed, there was a loop in the last revised version of the original thread:
http://gcc.gnu.org/ml/gcc-patches/2010-09/msg01286.html
Not clear why I dropped it...
> In my earlier comments I seem to have been wrong about the behavior of
> gen_subprogram_die; now I see that if there is an abstract instance the
> concrete out-of-line instance is not associated with the decl number.
> So I guess your earlier limbo handling code was fine apart from the
> lexical_block issue above.
So the above last revised version is OK with you, modulo the comment in
process_scope_var?
--
Eric Botcazou
stance of the parent function. If we wait for the definition of
the nested function, and it's out-of-line, we attach the out-of-line instance
to the abstract parent, which is the source of the problem.
--
Eric Botcazou
x27;s ChangeLog
(ada, c-family, lto) and not in the main ChangeLog.
--
Eric Botcazou
here, though I suppose that would probably only trigger when we would
> abort later in dwarf2cfi.c anyway...
Can it be backported to the branch now? -Os is seriously hampered by this.
--
Eric Botcazou
> The following patch fixes the build (not reg-tested, but looks obvious):
>
> 2012-05-14 Tristan Gingold
>
> * config/ia64/ia64.c (ia64_expand_prologue): Adjust calls to
> plus_constant.
Applied as obvious after fixing the ChangeLog.
--
Eric Botcazou
> I checked in a fix.
Thanks!
--
Eric Botcazou
> Tested on x86_64-pc-linux-gnu, committed on trunk
>
> 2012-05-15 Eric Botcazou
>
> * sem_prag.adb (Process_Atomic_Shared_Volatile): Propagate
> atomicity from an object to its underlying type only if it
> is composite.
Backported to the 4.7 branch afte
Andris Pavenis devised this patch to fix the build for targets which use the
s-taprop-dummy.adb package.
Applied on mainline and 4.7 branch.
2012-05-15 Andris Pavenis
PR ada/52494
* s-taprop-dummy.adb (Specific): New package.
--
Eric Botcazou
--- s-taprop-dummy.adb~ 2012
> Fixed thusly, tested on i586-suse-linux, applied as obvious on mainline,
> 4.6 and 4.5 branches.
>
>
> 2011-12-18 Eric Botcazou
>
> * configure: Regenerate.
> config/
> * acx.m4 (Test for GNAT): Update comment and add quotes in final test.
It turns out
ces on the limbo list to it.
--
Eric Botcazou
Index: dwarf2out.c
===
--- dwarf2out.c (revision 187533)
+++ dwarf2out.c (working copy)
@@ -16586,6 +16586,22 @@ gen_call_site_die (tree decl, dw_die_ref
return die;
}
+/* Return true
ror detected around /home/eric/svn/gcc/gcc/ada/ali.adb:2499:1
--
Eric Botcazou
k or arrange TREE_STATIC to not be set.
Yes, this is desirable.
--
Eric Botcazou
also broken on x86-64:
+===GNAT BUG DETECTED==+
| 4.8.0 20120518 (x86_64-unknown-linux-gnu) GCC error: |
| in varpool_finalize_decl, at cgraphunit.c:822|
| Error detected around ../../src/gcc/ada/ali.adb:2499:1
> my apologize for the breakage. I somehow missed Ada in --enable-languages
> list. I've comitted the following fix that also cures enable checking
> failure of g++.dg/torture/pr46154.C
No problem, thanks for the quick fix!
--
Eric Botcazou
-05-18 Eric Botcazou
* gcc-interface/decl.c (gnat_to_gnu_entity) : For an object at
global level with unconstrained nominal subtype and a non-fixed size,
make a variable for the size.
2012-05-18 Eric Botcazou
* gnat.dg/specs/lto12.ads: New test
) where previously it would have
> returned the immediate scope of the function, which might be something
> like a namespace/module or type.
Does it really matter for concrete instances of inline functions?
--
Eric Botcazou
to 0, breaking
the response file mechanism. Hence the configure.ac hunk.
Tested on i586-suse-linux and i686-pc-mingw32, OK for mainline and 4.7 branch?
2012-05-18 Eric Botcazou
PR ada/52362
* config.gcc (i[34567]86-*-mingw* | x86_64-*-mingw*): Set gas and
gnu_ld vari
ferences in GDB (i.e. access to variables of
parent functions from within nested functions).
--
Eric Botcazou
-19 Eric Botcazou
* gcc-interface/decl.c (Has_Thiscall_Convention): New macro.
(gnat_to_gnu_entity) : Test it to set the thiscall
calling convention
(get_minimal_subprog_decl): Likewise.
(gnat_first_param_is_class): New predicate.
--
Eric Botcazou
Index
>
> Indeed.
>
> Ok.
Thanks. It turns out that the Ada compiler cannot be bootstrapped in LTO mode
on the 4.7 branch without the tree-ssa-pre.c patch, which is a regression from
4.6 so I've backported it after bootstrapping/regtesting on x86_64-suse-linux.
--
Eric Botcazou
The routine uses an anonymous static variable and this breaks in LTO mode
because a DECL_NAME is expected.
Tested on i586-suse-linux, applied on the mainline and 4.7 branch.
2012-05-20 Eric Botcazou
* gcc-interface/utils.c (gnat_write_global_declarations): Put a name
on the
symbol 'undef'
extern int var __attribute__ ((alias ("undef")));
^
After:
~/build/gcc/native32/gcc/cc1 -quiet t.c
t.c:1:12: error: 'var' aliased to undefined symbol 'undef'
extern int var __attribute__ ((alias ("undef")));
d 4.7 branch?
2012-05-20 Eric Botcazou
* gimple.c (gimple_types_compatible_p_1) : Remove bogus
size handling.
(gimple_canonical_types_compatible_p) : Likewise.
(iterative_hash_gimple_type): Adjust comment.
(iterative_hash_canonical_type): Likewise. Has
> 2005-11-14 Thomas Quinot
> Olivier Hainque
> Eric Botcazou
> ...
> (create_var_decl): call expand_decl for CONST_DECLs, to set MODE,
> ALIGN SIZE and SIZE_UNIT which we need for later back-annotations.
>
> I don't unde
response file mechanism. Hence the
> configure.ac hunk.
>
> Tested on i586-suse-linux and i686-pc-mingw32, OK for mainline and 4.7
> branch?
>
>
> 2012-05-18 Eric Botcazou
>
> PR ada/52362
> * config.gcc (i[34567]86-*-mingw* | x86_64-
y older) so I'd like to put
this on the 4.7 branch as well.
2012-05-25 Eric Botcazou
PR lto/52178
* tree-inline.c (remap_gimple_op_r): Fix handling of FIELD_DECL.
* tree.c (RETURN_TRUE_IF_VAR): Do not return true for PLACEHOLDER_EXPR.
--
Er
> Ok. Please make sure to verify LTO bootstrap on the branch still
> works after this.
Thanks. I already verified it with --enable-checking=yes,rtl.
--
Eric Botcazou
part_from): Likewise. Give a unique name to the type
of the variant part.
--
Eric Botcazou
Index: gcc-interface/decl.c
===
--- gcc-interface/decl.c (revision 187833)
+++ gcc-interface/decl.c (working copy)
@@ -119,8 +119
There is one more goto in the .optimized dump because the latch of a loop is
now preserved.
Tested on i586-suse-linux, applied on the mainline.
2012-05-26 Eric Botcazou
* gnat.dg/renaming5.adb: Adjust dg-final directive.
--
Eric Botcazou
Index: gnat.dg/renaming5.adb
ed by
try_optimize_cfg if CLEANUP_NO_INSN_DEL and partially extends the above
machinery to the CFGRTL mode.
Bootstrapped/regtested on x86_64-suse-linux, applied on the mainline.
2012-05-26 Eric Botcazou
* cfgcleanup.c (try_optimize_cfg): Do not delete forwarder blocks
at, in the end, this might degrade the GCC experience for them.
--
Eric Botcazou
te.c in expmed.c, there will be no
point in keeping it after the remnants of the old inliner are eliminated.
--
Eric Botcazou
as-is, so the code
consistently avoids to pass it.
I'd just drop the dangling reference to integrate.c and reformat the line
if (tmode != mode) subtarget = 0;
into
if (mode != mode)
subtarget = 0;
to make it more closely ressemble the other instance.
--
Eric Botcazou
his by a GR. Nice cleanup in any case!
--
Eric Botcazou
so...).
Tested on i586-suse-linux, applied on the mainline and 4.7 branch as obvious.
2012-05-30 Eric Botcazou
* explow.c (probe_stack_range): Restore simple control flow and stop
again when the probe cannot be generated if HAVE_check_stack.
--
Eric Botcazou
Index
stop if a field has again
too big an offset.
Tested on x86_64-suse-linux and i586-suse-linux, OK for mainline?
2012-05-30 Eric Botcazou
* tree-dfa.c (get_ref_base_and_extent): Compute the offset using
double ints throughout.
* tree-sra.c (build_user_friendly_ref_for_o
27;Alignment use 4;
for x use record
m at 0 range 0 .. 30;
s at 4 range 0 .. ((#1 * 8)) - 1;
r at bit offset (((#1 + 4) * 8)) size in bits = 31
b at bit offset #1 + 7) * 8) + 7)) size in bits = 1
end record;
with -gnatR3 and I'm not sure to understand what the sign has
" (__carry)\
> +: "%rJ" ((UDItype)(ah)), \
> "rI" ((UDItype)(bh)), \
> - "rJ" ((UDItype)(al)), \
> - "rI" ((UDItype)(bl)) \
> -__CLOBBER_CC)
> + "%rJ" ((UDItype)(al)), \
> + "rI" ((UDItype)(bl)), \
> + "2" (__carry) \
> +__CLOBBER_CC); \
> + } while (0)
Likewise.
--
Eric Botcazou
in "Implements" though).
--
Eric Botcazou
Tested on SPARC/Solaris, applied on the mainline and 4.7 branch.
2012-06-01 Eric Botcazou
PR ada/53517
* gnat.dg/lto14.adb: Skip on Solaris.
--
Eric Botcazou
Index: gnat.dg/lto14.adb
===
--- gnat.dg/lto14.adb
ignedness conversion. If so,
then the fix could test for this case precisely instead of disabling the
transformation in all cases, including when there is no signedness conversion.
--
Eric Botcazou
readonly
arg 0 unit size
align 64 symtab 0 alias set -1 canonical type 0x76fdd000
precision 64 min max >
readonly
(gdb) p debug_tree(arg0)
unit size
align 64 symtab 0 alias set -1 canonical type 0x76fdd000 precision
64 min max >
rea
small comment?
--
Eric Botcazou
or the inner multiplications
> all should already have. Best done with a comment in
> fold_plusminus_mult_expr.
I'm a little lost here. :-) I don't really care about the mainline at this
point, but the fix on the branches should be the minimal working one.
--
Eric Botcazou
> 2012-07-01 Olivier Hainque
>
> * config/rs6000/vxworks.h (SUBSUBTARGET_OVERRIDE_OPTIONS): Restore
> the "do {" part of the do-while(0) loop.
This is needed on the 4.7 branch as well.
--
Eric Botcazou
sion that the new function is unused. Replace
the second line with the description of the second hunk.
--
Eric Botcazou
> Hmm, I don't think so. The removal was part of the E500
> related reorg, which was not committed to the branch.
You're right, I looked at the wrong branch.
--
Eric Botcazou
linker case.
> Eric, shouldn't the whole section testing for GNU as move after the
> inclusion of config.gcc?
I don't think so, that would change the semantics of --with-gnu-as.
--
Eric Botcazou
hat, i.e. the compiler was and is still
configured for the GNU assembler whatever --with-gnu-as you pass on Linux.
--
Eric Botcazou
mr 4,11
blr
Is that really an atomic load?
--
Eric Botcazou
This makes it so that the size of types (Esize) is retrieved early and properly
capped for elementary types, in order to avoid obscure failures later on for
huge sizes. Nothing is changed for composite types.
Tested on i586-suse-linux, applied on the mainline.
2012-06-11 Eric Botcazou
The executable cannot be linked because of a duplicated symbol in the object
files, which comes from a conditional expression used to initialize a constant
that is the upper bound of an index type in an array.
Tested on i586-suse-linux, applied on the mainline.
2012-06-11 Eric Botcazou
Eric Botcazou
* gcc-interface/trans.c (Identifier_to_gnu): Test Is_Elementary_Type
instead of Is_Scalar_Type for a constant with an address clause.
Do not return the underlying constant for a constant used by reference
if it holds the address of a constant and an
gigi.
Tested on i586-suse-linux, applied on the mainline.
2012-06-11 Eric Botcazou
* gcc-interface/decl.c (gnat_to_gnu_entity) : Convert GNU_SIZE
to units before invoking allocatable_size_p on it.
Remove orphaned comment. Do not use ssize_int.
: Traverse list in
06-13 Eric Botcazou
PR middle-end/53590
* common.opt (-fdelete-dead-exceptions): New switch.
* doc/invoke.texi (Optimization Options): Document it.
* cse.c (insn_live_p): Do not return true for an insn that could throw
if dead exceptions can be de
perly transfer the flag for LTO
> in some way (well, or conservatively not remove dead exceptions at
> link-time).
I can add a flag in 'struct function' next to can_throw_non_call_exceptions.
--
Eric Botcazou
3501 - 3600 of 4611 matches
Mail list logo