Massive EH regressions after [patch, ia64, libgcc] Patch to fix libunwind build on IA64

2011-11-20 Thread Hans-Peter Nilsson
From: Steve Ellcey s...@cup.hp.com Date: Fri, 18 Nov 2011 18:24:22 +0100 This patch fixes the IA64 bootstrap when building libunwind. When using -fexceptions libunwind will have a reference to __gcc_personality_v0 and the bootstrap fails, using -fno-exceptions fixes this. This problem

[PR 51113] Fix gcov PIC

2011-11-20 Thread Nathan Sidwell
I've committed this patch to fix part of PR 51113. there are (at least) 3 issues going on. *) I'd forgotten to propagate symbol visibility from the fn-decl to the externally visible gcov objects. I don't know if the PR actually exposed that problem, but this patch fixes it. *) I'd presumed

[Ada] size of record type with partial representation clause too large

2011-11-20 Thread Eric Botcazou
The compiler used to give the (maximal) size of a variant record type for all its subtypes statically selecting one of the variant, if the variant record type has a representation clause that doesn't cover all the fields. This is fixed by the attached patch. Tested on i586-suse-linux, applied

Re: [PATCH] PR50325 store_bit_field: Fix for big endian targets

2011-11-20 Thread Richard Sandiford
Iain Sandoe develo...@sandoe-acoustics.co.uk writes: On 17 Nov 2011, at 09:25, Andreas Krebbel wrote: On 11/17/2011 03:44 AM, David Edelsohn wrote: Andreas, This patch seems to have introduced a failure for all of the gcc.dg-struct-layout tests on AIX.

[Ada] Housekeeping work in gigi (41/n)

2011-11-20 Thread Eric Botcazou
Tested on i586-suse-linux, applied on the mainline. 2011-10-20 Eric Botcazou ebotca...@adacore.com * gcc-interface/trans.c (Subprogram_Body_to_gnu): Add comment. (gnat_to_gnu) N_Return_Statement: Add 'else' to avoid doing a useless test. Tweak default case.

[Ada] Expand NRV optimization in gigi

2011-11-20 Thread Eric Botcazou
This expands the recently implemented NRV optimization to the unconstrained case, both for array types and discriminated record types with variant part. Tested on i586-suse-linux, applied on the mainline. 2011-11-20 Eric Botcazou ebotca...@adacore.com * gcc-interface/trans.c (struct

Re: Massive EH regressions after [patch, ia64, libgcc] Patch to fix libunwind build on IA64

2011-11-20 Thread Hans-Peter Nilsson
From: Hans-Peter Nilsson h...@axis.com Date: Sun, 20 Nov 2011 09:27:06 +0100 the patch somehow affects all of libgcc, verified by diffing the build-logs around this commit. Correction: it affects those parts that are not fp-bit.c, so just the unwinder and the target-specific libgcc parts. I

[Ada] Get rid of superfluous access checks

2011-11-20 Thread Arnaud Charlet
This change is aimed at eliminating some access checks that are superfluous because the access object that is subject to the check can never be null. The 1st part makes it so that no access check is generated for the dereference of a temporary created to hold the 'Reference of some object:

[Ada] Satisfy representation invariants in operation Move

2011-11-20 Thread Arnaud Charlet
The list container maintains a pair of array index components, First and Last, to keep track of the first and last nodes of the linked list. For an empty list, the First and Last values should be 0. Operation Move empties the Source container as it copies elements from the Source to the Target.

[wwwdocs] Update Mark Mitchell's association in steering.html

2011-11-20 Thread Gerald Pfeifer
Applied, based on a conversation with Mark. Gerald Index: steering.html === RCS file: /cvs/gcc/wwwdocs/htdocs/steering.html,v retrieving revision 1.31 diff -u -r1.31 steering.html --- steering.html 23 Oct 2010 20:35:37 -

Re: Massive EH regressions after [patch, ia64, libgcc] Patch to fix libunwind build on IA64

2011-11-20 Thread Eric Botcazou
Correction: it affects those parts that are not fp-bit.c, so just the unwinder and the target-specific libgcc parts. I was going to mention crtstuff, but that had -fno-exception from before. I don't see any other bare-iron results on gcc-testresults@ from after the offending revision, so

Re: [C++ Patch] PR 51230

2011-11-20 Thread Jason Merrill
Hmm, if %qE supports types, I guess we might as well use that. OK. Jason

Re: [Patch] make it possible for the target to rename .tm_clone_table

2011-11-20 Thread Iain Sandoe
Hi Richard, On 19 Nov 2011, at 18:43, Richard Henderson wrote: On 11/19/2011 02:04 AM, Iain Sandoe wrote: It should be possible for Rainer to define TARGET_ASM_TM_CLONE_TABLE_SECTION_NAME to NULL, and have varasm use the normal data section for tm_clone_table sections.One might wish to

Re: [C++ Patch] PR 51230

2011-11-20 Thread Paolo Carlini
Hi, Hmm, if %qE supports types, I guess we might as well use that. OK. essentially it works because of these lines in dump_expr: case TEMPLATE_TYPE_PARM: case BOUND_TEMPLATE_TEMPLATE_PARM: dump_type (t, flags); break; note, however, that this means TEMPLATE_TEMPLATE_PARM

[Patch,AVR]: ad PR49313: 64-bit division

2011-11-20 Thread Georg-Johann Lay
This implements assembler drop-in replacement for 64-bit division/remainder. The original libgcc implementation is extremely resource gulping because it uses inline in several places and DImode is resource gulping, anyway. With the patch the sizes (accumulated over all modules with same name)

[PATCH, i386]: Fix ICE in tree-ssa/prefetch-[89].c

2011-11-20 Thread Uros Bizjak
Hello! Renaming UNSPEC_MOVNT to UNSPEC_MOVNTI was not a good idea, since it caused [1]: prefetch-8.c: In function ‘test’: prefetch-8.c:16:1: error: unrecognizable insn: (insn 15 14 16 4 (set (mem:SI (plus:SI (mult:SI (reg/v:SI 64 [ i ]) (const_int 4 [0x4]))

Re: [wwwdocs/news] Add link to GNU Tools Cauldron 2012

2011-11-20 Thread Diego Novillo
On Sat, Nov 19, 2011 at 19:16, Geert Bosch bo...@adacore.com wrote: On Nov 19, 2011, at 18:46, Diego Novillo wrote: Committed to wwwdocs. BTW, I had taken the liberty to add a link to gcc.gnu.org/wiki under the header Events. I also removed some 2010 events, as they seemed stale now. Feel

[v3] doc improvements

2011-11-20 Thread Jonathan Wakely
* doc/xml/manual/appendix_contributing.xml: Do not use here as link text. * doc/xml/faq.xml: Likewise. Do not request standard library issues to be reported to the libstdc++ mailing list. * doc/xml/manual/status_cxx2011.xml: Document implementation-defined

Re: [PATCH 2/4] mips: Install the __sync libfuncs for mips16

2011-11-20 Thread Richard Sandiford
Richard Henderson r...@redhat.com writes: gcc/config/mips/mips.c |8 ++-- 1 files changed, 6 insertions(+), 2 deletions(-) diff --git a/gcc/config/mips/mips.c b/gcc/config/mips/mips.c index ff72e28..75e73bd 100644 --- a/gcc/config/mips/mips.c +++ b/gcc/config/mips/mips.c @@

[v3] improve doxygen comments for binders

2011-11-20 Thread Jonathan Wakely
* include/backward/binders.h: Fix examples in doxygen comments and suggest using std::bind instead. Tested x86_64-linux, committed to trunk. Index: include/backward/binders.h === --- include/backward/binders.h

Re: [C++ Patch] PR 51230

2011-11-20 Thread Jason Merrill
OK. Jason

Re: [patch] update configury for FreeBSD 10 on gcc-4.6 branch

2011-11-20 Thread Andreas Tobler
On 19.11.11 23:33, Andreas Tobler wrote: On 19.11.11 23:15, Gerald Pfeifer wrote: On Sat, 19 Nov 2011, Andreas Tobler wrote: the below patch updates the configury to be able to build gcc-4.6 on FreeBSD 10. I attach only the source files which have changed. libjava/libltdl/acinclude.m4 I

[PATCH, i386]: PR51235, PR51236: A couple of bugfixes

2011-11-20 Thread Uros Bizjak
Hello! 2011-11-20 Uros Bizjak ubiz...@gmail.com PR target/51235 * config/i386/i386.c (ix86_expand_vcond): Generate TARGET_XOP patterns for supported mode only. PR target/51236 * config/i386/i386.c (ix86_expand_builtin)

[C++11] Ping on PR50958

2011-11-20 Thread Ed Smith-Rowland
Ping. There's a patch that should do the literal operator resolution correctly and resolve PR50958: http://gcc.gnu.org/bugzilla/show_bug.cgi?id=50958 Thanks, Ed

Re: [PATCH 0/7] Sparc atomic optabs errata

2011-11-20 Thread David Miller
From: Richard Henderson r...@redhat.com Date: Thu, 17 Nov 2011 11:22:53 -1000 Full sparc64-linux testing still underway; I've pushed these two patches to the git branch previously mentioned. With these changes most of the libgomp atomic tests fail to build:

[Patch RFC Darwin] provide the crt stuff for tm.

2011-11-20 Thread Iain Sandoe
Since Darwin has its own crt infrastructure, we will still need to deal with this (even once the tm version is merged into gcc/crtstuff)... with all the current patches for libitm/darwin [sjlj.S, weakrefs, tm clone table sect] + this one I get: --- Native configuration is

C++ PATCH for c++/48322 (broken handling of variadic parms on multiple levels)

2011-11-20 Thread Jason Merrill
Under this bug, given something like template class... Ts struct A { template class... Us, class V = tuplepairTs,Us... static void f(); }; When we instantiate A, we partially instantiate f. But since we don't have all the Us, we can't instantiate pairTs,Us... at all yet.

C++ PATCH to diagnostic location for default template arguments

2011-11-20 Thread Jason Merrill
It seems to me that when we give diagnostics during substitution of a default template argument, the source location should be the definition of the default argument, not the call site; when we get there we will have already said that the call didn't find a match, and are explaining why the

Re: [Patch RFC Darwin] provide the crt stuff for tm.

2011-11-20 Thread Richard Henderson
On 11/20/2011 01:27 PM, Iain Sandoe wrote: comments/OK for trunk? Iain gcc: * config/darwin.h (ENDFILE_SPEC): New. (DARWIN_CRT1_SPEC): Add crttms.o. libgcc: * config/darwin-crt-tm.c: New file. * config.host (darwin): Build crttms.o crttme.o to provide startup

Re: [Patch] make it possible for the target to rename .tm_clone_table

2011-11-20 Thread Richard Henderson
On 11/20/2011 05:34 AM, Iain Sandoe wrote: gcc: * target.def (tm_clone_table_section): New hook. * doc/tm.texi.in (TARGET_ASM_TM_CLONE_TABLE_SECTION): Define. * doc/tm.texi: Regenerate. * varasm.c (dump_tm_clone_pairs): Use target tm_clone_table_section. *

Re: C++ PATCH for c++/48322 (broken handling of variadic parms on multiple levels)

2011-11-20 Thread Jason Merrill
This bug fix required the following change to libstdc++-v3/include/std/tuple: - templatetypename... _UElements, typename = typename - enable_if__and_integral_constantbool, sizeof...(_UElements) - == sizeof...(_Elements), -

Re: C++ PATCH for c++/48322 (broken handling of variadic parms on multiple levels)

2011-11-20 Thread Paolo Carlini
On 11/21/2011 01:22 AM, Jason Merrill wrote: This bug fix required the following change to libstdc++-v3/include/std/tuple: - templatetypename... _UElements, typename = typename - enable_if__and_integral_constantbool, sizeof...(_UElements) -

RFA: libgcc: move emutls.c from LIB2ADDEH et al to LIB2ADD

2011-11-20 Thread Hans-Peter Nilsson
Spotted while looking into http://gcc.gnu.org/ml/gcc-patches/2011-11/msg02001.html (and yes, I fixed the ChangeLog typo before commit) and also mentioned at http://gcc.gnu.org/ml/gcc/2011-11/msg00406.html. Emulating TLS has nothing to do with exception-handling, nor is there something that might

Re: [PATCH 0/7] Sparc atomic optabs errata

2011-11-20 Thread Richard Henderson
On 11/20/2011 12:47 PM, David Miller wrote: From: Richard Henderson r...@redhat.com Date: Thu, 17 Nov 2011 11:22:53 -1000 Full sparc64-linux testing still underway; I've pushed these two patches to the git branch previously mentioned. With these changes most of the libgomp atomic tests

Re: C++ PATCH for c++/48322 (broken handling of variadic parms on multiple levels)

2011-11-20 Thread Paolo Carlini
.. also, I was under the impression that c++/48322 was the only reason we couldn't write something very simple, thus no __all_convertible, ie, something using directly: enable_if__and_is_convertible_UElements, _Elements...::value::type That would be a great improvement, even if we need

Re: C++ PATCH for c++/48322 (broken handling of variadic parms on multiple levels)

2011-11-20 Thread Jason Merrill
On 11/20/2011 07:22 PM, Jason Merrill wrote: Hmm, actually, that still shouldn't have produced an error, it should just SFINAE. Another bug to fix... Thus. Tested x86_64-pc-linux-gnu, applying to trunk. commit 9c48487dc4ba1a0fd3235b03a00930379a8e7620 Author: Jason Merrill ja...@redhat.com

Re: C++ PATCH for c++/48322 (broken handling of variadic parms on multiple levels)

2011-11-20 Thread Jason Merrill
On 11/20/2011 08:02 PM, Paolo Carlini wrote: .. also, I was under the impression that c++/48322 was the only reason we couldn't write something very simple, thus no __all_convertible, ie, something using directly: enable_if__and_is_convertible_UElements, _Elements...::value::type Yep, you can

[RFC] Optimization to conditional and/or in ARM back-end

2011-11-20 Thread Jiangning Liu
Hi, This patch is to implement a peephole like optimization in ARM back-end. If we have an if condition expression like ((r3 != 0) r1) != 0, originally the binary code to be generated is like, cmp r3, #0 ite eq moveq r1, #0 andne r1, r1, #1

Re: [patch] update configury for FreeBSD 10 on gcc-4.6 branch

2011-11-20 Thread Gerald Pfeifer
On Sun, 20 Nov 2011, Andreas Tobler wrote: And commit is this one: http://gcc.gnu.org/ml/gcc-cvs/2011-11/msg00829.html Thanks, Andreas! If the libtool update on trunk is dragging out, I suggest you go ahead with this there, too. Gerald

[RFC] Use which_alternative in preparation-statements of define_insn_and_split

2011-11-20 Thread Jiangning Liu
Hi, I find which_alternative can't really be used in preparation-statements of define_insn_and_split, so can this be fixed like below? For example, I want to use which_alternative in the pattern below, (define_insn_and_split *thumb2_movsicc_insn [(set (match_operand:SI 0 s_register_operand

Re: [PATCH 0/7] Sparc atomic optabs errata

2011-11-20 Thread David Miller
From: Richard Henderson r...@redhat.com Date: Sun, 20 Nov 2011 14:50:49 -1000 I can't reproduce this. What's the exact cc1 command-line? /home/davem/src/GIT/GCC/build-sparc-linux/gcc/cc1 -quiet -v -I /home/davem/src/GIT/GCC/build-sparc-linux/sparc-unknown-linux-gnu/./libgomp -I

[PATCH SMS 1/2, RFC] Support traversing PS in reverse order

2011-11-20 Thread Revital Eres
Hello, This patch support the estimation of register pressure in SMS. Although GCC is in stage 3 I would appreciate comments on it. Thanks to Richard and Ayal for discussing the implementation and their insights. This part of the patch enables iterating on the partial schedule in the reverse

[PATCH SMS 2/2, RFC] Register pressure estimation for the partial schedule

2011-11-20 Thread Revital Eres
Hello, The attached patch adds register pressure estimation of the partial schedule. Tested and bootstrap with the other patches in the series on ppc64-redhat-linux, enabling SMS on loops with SC 1. Comments are welcome. Thanks, Revital Changelog: * loop-invariant.c

Re: [Patch,AVR]: Clean up SFR offset usage, take #2

2011-11-20 Thread Denis Chertykov
2011/11/20 Georg-Johann Lay a...@gjlay.de: Denis Chertykov wrote: 2011/11/20 Georg-Johann Lay .: Subtracting 0x20 to get the SFR address from a RAM address is scattered all over the backend.  The patch makes - PRINT_OPERAND_PUNCT_VALID_P and uses %- to subtract the SFR offset instead of

Re: C++ PATCH for c++/48322 (broken handling of variadic parms on multiple levels)

2011-11-20 Thread Daniel Krügler
2011/11/21 Jason Merrill ja...@redhat.com: On 11/20/2011 08:02 PM, Paolo Carlini wrote: .. also, I was under the impression that c++/48322 was the only reason we couldn't write something very simple, thus no __all_convertible, ie, something using directly:

Re: C++ PATCH for c++/48322 (broken handling of variadic parms on multiple levels)

2011-11-20 Thread Daniel Krügler
2011/11/21 Paolo Carlini paolo.carl...@oracle.com: On 11/21/2011 01:22 AM, Jason Merrill wrote: This bug fix required the following change to libstdc++-v3/include/std/tuple: -      templatetypename... _UElements, typename = typename -       enable_if__and_integral_constantbool,

Re: C++ PATCH for c++/48322 (broken handling of variadic parms on multiple levels)

2011-11-20 Thread Daniel Krügler
2011/11/21 Daniel Krügler daniel.krueg...@googlemail.com: 2011/11/21 Jason Merrill ja...@redhat.com: On 11/20/2011 08:02 PM, Paolo Carlini wrote: .. also, I was under the impression that c++/48322 was the only reason we couldn't write something very simple, thus no __all_convertible, ie,

Re: [Patch,AVR]: ad PR49313: 64-bit division

2011-11-20 Thread Denis Chertykov
2011/11/20 Georg-Johann Lay a...@gjlay.de: This implements assembler drop-in replacement for 64-bit division/remainder. The original libgcc implementation is extremely resource gulping because it uses inline in several places and DImode is resource gulping, anyway. With the patch the sizes