ails without patch, passes when it is applied.
> This fixes the bprblem with SPEC2006/447.dealII miscompile
>
> Ok for trunk?
The patch lacks comments - one shouldn't need to read the PR audit trail to
understand why the new lines are there.
--
Eric Botcazou
But I don't really have a strong opinon so, if you think that the original
patch is good enough, fine with me. Maybe use gcc_checking_assert though.
--
Eric Botcazou
sns that have been reset.
> (dead_debug_insert_before): Don't assert reg is non-NULL,
> instead return immediately if it is NULL.
>
> * gcc.dg/debug/pr49522.c: New test.
Sorry, our messages crossed. I'd set a flag in the first loop. In the end,
it's up to you.
--
Eric Botcazou
NSN (cur->use))
> + insnp = tailp;
> + tailp = &(*tailp)->next;
> + }
> }
> }
>
> @@ -3174,7 +3187,8 @@ dead_debug_insert_before (struct dead_de
> tailp = &(*tailp)->next;
> }
>
> - gcc_assert (reg);
> + if (reg == NULL)
> +return;
/* We may have dangling bits in debug->used for registers that were part of
a multi-register use, one component of which has been reset. */
--
Eric Botcazou
ments of calls. :-)
/* We need not check the operands of the CALL expresion itself. */
No need to retest, just make sure the changes compile (e.g. type 'make' from
within the gcc/ directory of a bootstrap tree) and commit.
Thanks for fixing the bug.
--
Eric Botcazou
nline, and on
the 4.6 and 4.5 branches for the second patch.
2011-07-07 Eric Botcazou
PR target/49660
* config/sparc/sol2.h [TARGET_64BIT_DEFAULT] (TARGET_DEFAULT): Add
MASK_V8PLUS, remove commented out flag and reorder.
2011-07-07 Eric Botcazou
PR target/
register. If so - give up.
> (check_sibcall_argument_overlap_1): Do not perform check of
> overlapping when it is call to address.
>
> tessuite/ChangeLog entry:
> 2011-07-06 Kirill Yukhin
>
> * g++.dg/torture/pr49519.C: New test.
OK, thanks.
--
Eric Botcazou
This removes a couple of unused macros and moves another around.
Tested on SPARC/Solaris, applied on the mainline.
2011-07-09 Eric Botcazou
* config/sparc/sparc.h (STACK_SAVEAREA_MODE): Move around.
(FP_REG_P): Delete.
(IN_OR_GLOBAL_P): Likewise.
--
Eric Botcazou
Since DWARF2 uses DW_CFA_GNU_window_save and the middle-end REG_CFA_WINDOW_SAVE
to designate the thing, this makes the SPARC back-end use the same wording.
Tested on SPARC/Solaris, applied on the mainline.
2011-07-11 Eric Botcazou
* config/sparc/sparc.md (save_register_window_1
go full C++ instead of requiring 3 compilers to bootstrap.
2011-07-11 Laurent GUERBY
Eric Botcazou
gnattools/
* Makefile.in (TOOLS_FLAGS_TO_PASS_1): Add LINKER.
(TOOLS_FLAGS_TO_PASS_1re): Likewise.
(TOOLS_FLAGS_TO_PASS_NATIVE): Likewise.
(TOOLS_FLAGS_TO_
e applying this?
2011-07-12 Laurent GUERBY
Eric Botcazou
gcc/
* prefix.h: Wrap up in extern "C" block.
ada/
* adadecode.c: Wrap up in extern "C" block.
* adadecode.h: Likewise.
* adaint.c: Likewise. Remove 'const' keyword.
e 33 files must be modified and I think that it's simpler to modify them
all and use a single compilation scheme than maintaining two such schemes.
--
Eric Botcazou
G++ kindly suggested making the following changes during a build so here we go.
Bootstrapped/regtested on x86_64-suse-linux, applied as obvious.
2011-07-12 Eric Botcazou
* cse.c (insert_with_costs): Put semi-colon after empty loop body
on the next line.
* emit-rtl.c
> FWIW, elsewhere in gcc we use "continue;" for empty loop bodies.
I think I've never run into this idiom in about a decade of work on GCC. :-)
Sometimes there is a comment after the ; on the line, but this is somewhat
redundant IMO. Maybe we should simply ban loops with emtpy
This disables a check generated in VMS emulation mode (-gnatdm) for 32-bit
targets since it confuses the RTL middle-end for no real benefit.
Tested on i586-suse-linux, applied on the mainline.
2011-07-13 Eric Botcazou
* gcc-interface/utils.c (build_vms_descriptor32): Skip the 32
invalid MSG_WAITALL.
--
Eric Botcazou
Index: g-socthi-mingw.adb
===
--- g-socthi-mingw.adb (revision 176261)
+++ g-socthi-mingw.adb (working copy)
@@ -277,7 +277,8 @@ package body GNAT.Sockets.Thin is
use type C.size_t
md.
This is probably the root cause of the problem, indeed. But you don't revert
everything so, if this isn't an oversight, then the ChangeLog is incorrect.
And there is another change in sched-deps.c not mentioned in the ChangeLog.
--
Eric Botcazou
conditionally
set as set by the jump.
--
Eric Botcazou
e are identical, modulo the change in variable
> name ("set" -> "used" which seems like a better name).
Yes, the code does the same thing, but the original patch did clear up the
confusion set/use in sched_analyze_insn and compute_jump_reg_dependencies,
in particular in the comment of the latter. But OK, never mind.
--
Eric Botcazou
-to-subroutine instruction, so
this needs to be modelled if you want precise variable tracking.
Tested on SPARC/Solaris (both GCC and GDB) and x86/Linux. OK for mainline?
2011-07-14 Eric Botcazou
PR target/48220
* doc/md.texi (Standard Names): Document window_save.
* cfgexpan
Hi,
this is the ICE at -O2 on ACATS c34005a introduced on the 4.6 branch by
Martin's latest SRA patch. But it's actually the same PRE issue as:
http://gcc.gnu.org/ml/gcc-patches/2011-03/msg02210.html
Bootstrapped/regtested on i586-suse-linux, OK for 4.6 branch?
2011-07-14 Eri
ested on x86_64-suse-linux, OK for mainline and 4.6 branch?
2011-07-14 Eric Botcazou
PR middle-end/49732
* tree.c (walk_tree_1) : Do not walk a pointed-to type.
2011-07-14 Eric Botcazou
* gnat.dg/pointer_controlled.adb: New test.
--
Eric Botcazo
> I have measured it at some point and IIRC it was about 10% slower
> (comparing C bootstrap with C++ in stag1 languages with C++ bootstrap,
> not sure if that included bootstrapping libstdc++ for the former).
IMO acceptable now that the build time of libjava has been halved.
--
Eric Botcazou
Typos in warning messages, wrong message for NON_CALL_EXCEPTIONS, duplicated
TARGET_OPTIMIZATION_MISMATCH and OPTIMIZATION_MISMATCH entries.
Tested on i586-suse-linux, applied on the mainline as obvious.
2011-07-19 Eric Botcazou
* cif-code.def (OVERWRITABLE): Fix typo and move
ized objects). You should check
that the ones created for x32 (because of POINTERS_EXTEND_UNSIGNED I guess)
are legitimate.
--
Eric Botcazou
see name-lookup.c:get_anonymous_namespace_name.
--
Eric Botcazou
other compilers (e.g.
> libgcc is still compiled with the C compiler).
This introduced a circular dependency in the Makefile. Fixed thusly.
2011-07-21 Eric Botcazou
* gcc-interface/Make-lang.in (GNAT1_ADA_OBJS): Move ada/b_gnat1.o to...
(GNAT1_OBJS): ...here.
--
Eric
> It's getting confused about loads/stores being control_flow_insns and
> getting scheduled past each other nonetheless. Mind testing the following?
s/flag_non_call_exceptions/cfun->can_throw_non_call_exceptions/
--
Eric Botcazou
id mistake in the last hunk.
Tested on i586-suse-linux, pre-approved by Jakub, applied on the mainline.
2011-07-22 Eric Botcazou
PR debug/49815
* var-tracking.c (vt_finalize): Always free windowed_parm_regs.
--
Eric Botcazou
Index: var-tracking.c
==
6.5 machine though.
--
Eric Botcazou
Tested on i586-suse-linux, applied on the mainline.
2011-07-24 Eric Botcazou
* gcc-interface/gigi.h (build_function_stub): Remove.
(build_return_expr): Likewise.
(convert_vms_descriptor): Declare.
* gcc-interface/utils.c (convert_vms_descriptor): Make global
When gigi builds an indexed component reference with a variable index, it marks
the array object as addressable. This was probably necessary back in the RTL
days but this is very likely obsolete by now.
Tested on i586-suse-linux, applied on the mainline.
2011-07-24 Eric Botcazou
, applied on the mainline.
2011-07-24 Eric Botcazou
* gcc-interface/decl.c (gnat_to_gnu_entity) : If the
subprogram has copy-in copy-out parameters, try to promote the mode of
the return type if it is passed in registers.
--
Eric Botcazou
Index: gcc-interface/decl.c
586-suse-linux, OK for the mainline?
2011-07-24 Eric Botcazou
* ipa-inline.c (can_inline_edge_p): Look into DECL_STRUCT_FUNCTION of
original nodes if we are dealing with virtual clones.
--
Eric Botcazou
Index: ipa-inline.c
===
gt; I plan to look into this before next release. I would, for sure, welcome
> Eric beating me. If he don't have time to do so, I think the patch is OK as
> it is, since it improves the situation despite the fact that it won't fix
> the same problem with WPA.
OK, I'll install the patch for now.
--
Eric Botcazou
4-linux-gnu (all,ada). OK to install?
Thanks for fixing this. Please install the testcase as well.
--
Eric Botcazou
answered
> when I submitted the patch.
I'd go for the minimal change that works, including an ugly cast somewhere.
--
Eric Botcazou
7;t work since the additional args passed in the sa_handler case are
> not in any prototype, to g++ rightly complains (and this is an
> implementation detail I'd not rely upon if it can be avoided).
OK, I see, so there is a single prototype for the 2 variants with 3 args.
--
Eric Botcazou
> Looks good to me, but please wait for Eric to chime in since you've been
> discussing it with him already.
Fine with me as well.
--
Eric Botcazou
in 64-bit mode
for the time being?
--
Eric Botcazou
385
Please do not post useless messages. Once a patch has been approved on the
list, just install it. See http://gcc.gnu.org/svnwrite.html
--
Eric Botcazou
ntion mismatches. The
attached patch is needed to cure the 3 ACATS failures on x86:
FAIL: c431001
FAIL: c731001
FAIL: ca11c02
I think the GIMPLE->Tree->RTL interface would need to be audited here.
* cfgexpand.c (expand_call_stmt): Rematerialize original function type.
CA_FOR_VAR_P over CALL_ALLOCA_FOR_VAR_P
but, given the name of the GIMPLE flag and predicate, it's probably time to
change it.
--
Eric Botcazou
callee_fndecl.
--
Eric Botcazou
Index: cfgexpand.c
===
--- cfgexpand.c (revision 172371)
+++ cfgexpand.c (working copy)
@@ -1844,7 +1844,10 @@ expand_call_stmt (gimple stmt)
exp = build_vl_exp (CALL_EXPR, gimple_call_num_ar
> I have the following, the gimple_call_chain check is to prevent
> Ada bootstrap from failing.
On x86?
> I suppose your patch is ok, maybe with simply not wrapping the NOP_EXPR
> around builtins.
I can try that indeed...
--
Eric Botcazou
> I suppose your patch is ok, maybe with simply not wrapping the NOP_EXPR
> around builtins.
Here's what I've installed after bootstrapping/regtesting on x86_64-suse-linux.
2011-04-14 Eric Botcazou
* cfgexpand.c (expand_call_stmt): Rematerialize the original function
> 2011-04-14 Eric Botcazou
>
> * cfgexpand.c (expand_call_stmt): Rematerialize the original function
> type if this is not a builtin function.
Hum, using fold_convert seems to be more appropriate here.
Bootstrapped/regtested on i586-suse-linux, applied as obvious.
us.
2011-04-15 Eric Botcazou
* gimplify.c: Fix issues in comments throughout.
(voidify_wrapper_expr): Fix long line.
(build_stack_save_restore): Likewise.
(gimplify_loop_expr): Likewise.
(gimplify_compound_lval): Likewise.
(gimplify_init_ctor_eval)
an explicit comparison. */
+ {
+ ;
+ }
Remove the superfluous parentheses and move the comment to a new paragraph of
the big comment just above.
No need to retest, just make sure this still compiles, thanks in advance.
--
Eric Botcazou
> And make IN_COND a bool instead of an int?
I had the same initial reaction but then came to the same conclusion as Maxim.
--
Eric Botcazou
advance.
--
Eric Botcazou
ded a few lines below in
combine_simplify_rtx. But this would need to be tested. Do you happen to
have access to such a target, e.g. m68k?
--
Eric Botcazou
> If it can be bool, it should be bool.
Rather basic principle IMO. Consistency is of much greater value.
--
Eric Botcazou
se even without the
> patch. I've filed PR48633 for this.
Thanks for debugging the problem. I was expecting some fallouts in Ada because
this will shake a little the compiler, but the results of our internal testing
don't show other problems than this ACATS failure, so that's great.
--
Eric Botcazou
Various nits and typos spotted while studying WPA, plus one redundant test.
Tested on i586-suse-linux, applied on the mainline as obvious.
2011-04-16 Eric Botcazou
* lto.c (lto_balanced_map): Fix typos in head comment.
(lto_promote_cross_file_statics): Fix long lines and
Merge glitch apparently.
Tested on i586-suse-linux, applied on the 4.4 branch as obvious.
2011-04-16 Eric Botcazou
PR other/48639
* tests/base/pthread.h [IRIX_PTHREAD_INIT_CHECK]: Move around.
--
Eric Botcazou
Index: tests/base/pthread.h
The compiler ICEs on the call to a function returning a discriminated record
type with variant part. The problem is again an incorrect sharing of a tree
node between two types.
Tested on i586-suse-linux, applied on the mainline.
2011-04-17 Eric Botcazou
* gcc-interface/decl.c
f the nested function. */
if (node->local.lto_file_data)
node->aux = NULL;
In this case, the nested function is gnat1drv__check_library_items__action.
Fixed by adding the missing guard, profiled-LTO-bootstrapped on x86_64/Linux,
applied on the mainline and 4.6 branch as obvious.
This removes the bunch of -Wxxx flags that are currently passed to link
gnatbind, by replacing $(ALL_CFLAGS) with $(CFLAGS) as is done for gnat1.
This (marginally) helps during LTO bootstrap.
Tested on i586-suse-linux, applied on the mainline and 4.6 branch.
2011-04-17 Eric Botcazou
+ || from == FPCC_REGS
> + || to == FPCC_REGS)
> +{
> + if (sparc_cpu == PROCESSOR_ULTRASPARC
> + || sparc_cpu == PROCESSOR_ULTRASPARC3
> + || sparc_cpu == PROCESSOR_NIAGARA
> + || sparc_cpu == PROCESSOR_NIAGARA2)
> + return 12;
> + else
> + return 6;
> +}
> +
> + return 2;
> +}
Superflous "else". No need to retest.
--
Eric Botcazou
). OK for the mainline?
2011-04-17 Eric Botcazou
PR lto/48492
* cfgexpand.c (expand_debug_expr) : Return NULL for a
DECL_IN_CONSTANT_POOL without RTL.
--
Eric Botcazou
Index: cfgexpand.c
===
--- cfgexpand.c
er" types in Ada, which are structures made up of 2
pointers and aligned enough to have SImode.
Lightly tested on the mainline, but we use them in production for our 4.5-based
compiler. OK for the mainline?
2011-04-18 Eric Botcazou
* config/avr/avr.c (avr_legitimate_address_p
as is done for other
functions in the file. Tested on i586-suse-linux, applied on mainline and
4.6/4.5 branches as obvious.
2011-04-18 Eric Botcazou
* dwarf2out.c (is_redundant_typedef): Add 'inline' to prototype.
--
Er
die);
is run, origin->die_parent is NULL for the first DIE; it will only be set when
the second DIE is processed on the limbo list.
Hence the proposed fix: not to attach a DIE to a NULL parent. LTO bootstrapped
with Ada on x86_64-suse-linux, OK for the mainline?
2011-04-18 Eric Botcazou
only if they have the same identifier, this should apply here as well.
Hence the attached patch. LTO bootstrapped on x86_64-suse-linux, OK for the
mainline?
2011-04-18 Eric Botcazou
PR lto/48148
* gimple.c (gimple_types_compatible_p_1
s during early inline pass. */
&& cgraph_global_info_ready)
but disregards the DECL_NO_INLINE_WARNING_P flag.
Tested on i586-suse-linux, OK for the mainline?
2011-04-19 Eric Botcazou
* tree-inline.c (expand_call_inline): Do not issue a -Winline warning
if DE
Hi,
it appears that the (standard DWARF as of version 4) discriminator directive
can confuse non-GDB DWARF 2/3 debuggers, so this patch changes the compiler
to stop emitting it in strict mode.
Tested on i586-suse-linux, OK for the mainline?
2011-04-19 Eric Botcazou
* dwarf2out.c
http://gcc.gnu.org/ml/gcc-patches/2011-04/msg01461.html
Btw, if someone could approve (or reject) the above patch...
--
Eric Botcazou
ChangeLog, without prefixes:
2011-04-20 Easwaran Raman
* cfgexpand.c (add_alias_set_conflicts): Add conflicts with a variable
containing union type only with -fstrict-aliasing.
2011-04-20 Easwaran Raman
* gcc.dg/stack-layout-1.c: New test.
--
Eric Botcazou
LTO is a boot language these days. LTO bootstrapped on x86_64-suse-linux,
applied on the mainline and 4.6 branch as obvious.
2011-04-20 Eric Botcazou
* bootstrap-lto.mk: Remove obsolete requirement.
--
Eric Botcazou
Index: bootstrap-lto.mk
tly confuses (some versions of) the Wind River debugger.
--
Eric Botcazou
the mainline and 4.6
branch as obvious.
2011-04-21 Eric Botcazou
* gimple.c (walk_gimple_op) : Fix couple of oversights.
2011-04-21 Eric Botcazou
* gnat.dg/volatile5.adb: New test.
* gnat.dg/volatile5_pkg.ads: New helper.
--
Eric Botcazou
Index: gimpl
.
* gcc-interface/Make-lang.in: Likewise.
(ada/decl.o): Cosmetical change.
(ada/misc.o): Remove dependency on $(PLUGIN_H).
--
Eric Botcazou
Index: gcc-interface/Makefile.in
===
--- gcc-interface/Makefile.in
rs): Change heuristic.
> (union_stack_vars): Fix to reflect changes in
> partition_stack_vars.
> (dump_stack_var_partition): Add newline after each partition.
No gcc/ prefix. Paths are relative to the ChangeLog file.
--
Eric Botcazou
must be documented in the head comment. The patch contains long
lines. The ChangeLog entry doesn't look correct (relax_delay_slots mentioned
twice, no mention of the new parameter of follow_jumps, etc). How was the
patch tested? Please generate patches with diff -p.
--
Eric Botcazou
ans.c (Subprogram_Body_to_gnu): ...and not here.
(gigi): Adjust calls to create_subprog_decl.
(build_raise_check): Likewise.
(establish_gnat_vms_condition_handler): Likewise.
(Compilation_Unit_to_gnu): Likewise.
(gnat_to_gnu): Likewise.
--
Eric Botcazou
Index
This fixes an oversight in the support for parallel types: they are silently
dropped when a type goes through make_packable_type.
Fixed thusly, tested on i586-suse-linux, applied on the mainline.
2011-04-22 Eric Botcazou
* gcc-interface/decl.c (make_packable_type): Copy
ticular case, m->fs.sp_offset was set by stack realignment code for
> AVX 32byte stack alignment.
Take a look at line 10165 of config/i386/i386.c.
--
Eric Botcazou
* cgraphbuild.c (record_reference): Drop non-unit-at-a-time code.
(build_cgraph_edges): Likewise.
[...]
* c-decl.c (diagnose_mismatched_decls): Do not require inline keyword
early in GNU dialect.
so I presume that the answer is no.
--
Eric Botcazou
> changes do not appear to be necessary to fix the PR ...)
Do you really need to backport the MERGE_SET_NOCLOBBER stuff? This will cause
the branch to optimize more aggressively than before.
--
Eric Botcazou
ainly be happy to try out a more stripped down patch; could you be
> more specific about exactly which parts you want me to omit?
The "We can perform the transformation if" thing, but in the end I agree that
it's probably better to backport the unmodified changes. Thanks.
--
Eric Botcazou
e stack
for -fstack-check if the size to allocate is negative.
--
Eric Botcazou
Index: config/i386/i386.c
===
--- config/i386/i386.c (revision 173209)
+++ config/i386/i386.c (working copy)
@@ -10619,8 +10619,8 @@ ix86_expand_
Bootstrapped/regtested on x86_64-suse-linux, applied on the mainline.
2011-04-30 Eric Botcazou
* gnatvsn.ads (Library_Version): Bump to 4.7.
(Current_Year): Bump to 2011.
--
Eric Botcazou
Index: gnatvsn.ads
t; the compiler, to the point of being unusable as regression tests IMHO.
>
> Regstrapped on x86_64-linux-gnu and i686-pc-linux-gnu. Ok to install?
OK, thanks.
--
Eric Botcazou
> This code aligns stack to 32byte for AVX.
Right, the strange line is the next one.
--
Eric Botcazou
> What is wrong? x86-64 has 128byte redzone.
Nothing wrong, just strange. ISTM that it doesn't serve any useful purpose.
And I'm not sure that the rest of the code in ix86_expand_prologue is really
prepared for a negative size either.
--
Eric Botcazou
> 2011-05-02 Dmitry Gorbachev
>
> * tree-inline.c (maybe_inline_call_in_expr): Replace false by NULL.
Thanks for spotting this. I'd apply it to all relevant branches (4.5/4.6).
--
Eric Botcazou
> 2011-05-02 Dmitry Gorbachev
>
> * parser.c (cp_parser_init_declarator): Replace false by NULL.
Replace by NULL_TREE instead and install under the obvious rule.
--
Eric Botcazou
> 2011-05-02 Dmitry Gorbachev
>
> * parser.c (cp_parser_init_declarator): Replace false by NULL.
I've installed the attached patch as obvious.
2011-05-02 Dmitry Gorbachev
Eric Botcazou
* parser.c (cp_parser_init_declarator): Set pushed_scop
> Transmitting file data ...
> Committed revision 173271.
Please avoid posting useless messages like this on gcc-patches@. The same
information is duplicated on gcc-cvs@. See http://gcc.gnu.org/svnwrite.html
--
Eric Botcazou
quite dangerous to me. Instead statement-expressions should be wrapped up in
a SAVE_EXPR/TARGET_EXPR to protect them and prevent copying.
--
Eric Botcazou
> How is it used in Ada?
The front-end doesn't use it directly, it's only used through the gimplifier
by the unsharing phase (unshare_body). We also have statement expressions.
--
Eric Botcazou
them in the unsharing
phase. That's why I find the change to copy_tree_r questionable.
--
Eric Botcazou
se_check, but
unfortunately we don't seem to have a testcase that exercices it.
Tested on x86_64-suse-linux, applied on the mainline.
2011-05-03 Nathan Froyd
Eric Botcazou
* gcc-interface/trans.c (gigi): Call build_function_type_list instead
of build_function_
declared outside of any function");
return size_one_node;
}
[...]
}
In Ada there are variable-sized types at global level so it isn't an error to
call variable_size when lang_hooks.decls.global_bindings_p returns non-zero.
--
Eric Botcazou
te the different versions.
> Similarly, the pending_size code should be local to front ends.
Yes, I agree here. gigi already does the full management and doesn't use it.
--
Eric Botcazou
e, but they will all essentially look alike.
--
Eric Botcazou
verage of this part of the gigi code by the Ada testsuite is zero and the
second chunk is a copy of the equivalent C code.
--
Eric Botcazou
> Well, let's look at the users of copy_tree_r.
>
> cp/tree.c (bot_manip): The case I want to fix.
Then I'd put the fix there. The old behaviour of copy_tree_r is IMO the most
sensible one and its callers should cope, as almost all already do it seems.
--
Eric Botcazou
Hi,
on the heels of the discussion with Joseph, the attached patch removes the
error issued by variable_size, as it appears to be totally useless at this
point. FEs should be responsible for catching errors here.
Tested on x86_64-suse-linux, OK for the mainline?
2011-05-04 Eric Botcazou
4101 - 4200 of 4612 matches
Mail list logo