Re: [PATCH] PR c++/PR48035

2011-03-11 Thread Jakub Jelinek
On Fri, Mar 11, 2011 at 09:01:40AM +0100, Jakub Jelinek wrote: Do we need to redo parts of class.c anyway? From what I understand, the problematic vtbl pointers are at the end of the base types and DECL_SIZE is set to the CLASSTYPE_AS_BASE type size, thus those pointers ought to be at or

Re: [C++0x patch] constexpr in attribute argument

2011-03-11 Thread Rodrigo Rivas
On Fri, Mar 11, 2011 at 6:51 AM, Jason Merrill ja...@redhat.com wrote: How about just calling maybe_constant_value call after the fold_non_dependent_expr call in cp_parser_parenthesized_expression_list? Well, I first tried something like this, but the key problem is the *non_dependent* part, so

[PATCH, 4.6] Do not create new cgraph noes in the verifier

2011-03-11 Thread Martin Jambor
Hi, while working on removing lazy cgraph node creation I have noticed that we might do that even in the call graph verifier which certainly looks undesirable. Richi pre-approved removing it on IRC but I am not sure whether that was for 4.6. On the other hand I guess the change is rather

[PATCH, 4.7] Have all inlining destinations analyzed

2011-03-11 Thread Martin Jambor
Hi, after I simply moved id-dst_node-analyzed check from expand_call_inline to optimize_inline_calls I tried asserting it there instead. When running testsuite I found out this works for everything but mudflap which adds new nodes late with cgraph_add_new_function which runs the inliner on nodes

Re: [PATCH, 4.6] Do not create new cgraph noes in the verifier

2011-03-11 Thread Richard Guenther
On Fri, 11 Mar 2011, Martin Jambor wrote: Hi, while working on removing lazy cgraph node creation I have noticed that we might do that even in the call graph verifier which certainly looks undesirable. Richi pre-approved removing it on IRC but I am not sure whether that was for 4.6. On

Re: [PATCH][C] Fix PR47939

2011-03-11 Thread Richard Guenther
On Thu, 10 Mar 2011, Joseph S. Myers wrote: On Wed, 2 Mar 2011, Richard Guenther wrote: 2011-03-02 Richard Guenther rguent...@suse.de PR c/47939 * c-decl.c (grokdeclarator): Drop to the main variant only for array types. Drop flag_gen_aux_info check. I can't

Re: [patch, score] Remove score3 from score backend, delete unusual insn generate

2011-03-11 Thread Liqin Chen
2011/3/11 Paolo Bonzini bonz...@gnu.org: On 03/11/2011 07:16 AM, Liqin Chen wrote: Can you please in a follow-up merge score.c and score7.c, so that you can remove these forwarding functions? OK, We will do it. Thanks, --liqin

Re: [build, lto] Only accept -fuse-linker-plugin if linker supports -plugin (PR lto/46944)

2011-03-11 Thread Richard Guenther
On Thu, 10 Mar 2011, Rainer Orth wrote: Richard Guenther rguent...@suse.de writes: Can we to fix 46944 change the dejagnu require-linker-plugin to check if a linker plugin is used by default and not add -fuse-linker-plugin? That might be involved since it requires parsing gcc

Re: Problem with procedure pointers

2011-03-11 Thread Tobias Burnus
On 03/10/2011 08:55 PM, Janus Weil wrote: Ok, since you guys seem to agree on that, here is the patch without module version bumping, but this time complete with test case and ChangeLog. Ok for trunk? OK. Thanks for the patch. Tobias 2011-03-10 Janus Weilja...@gcc.gnu.org PR

Re: [PATCH 07/18] generalize build_case_label to the rest of the compiler

2011-03-11 Thread Joseph S. Myers
On Thu, 10 Mar 2011, Nathan Froyd wrote: This patch does lose location information on CASE_LABEL_EXPRs from the C family of front-ends; it did not seem worth it to have a number of places pass input_location when said information isn't even used. I'm happy to add the location_t argument back

Re: [PATCH 01/18] add typed_tree structure

2011-03-11 Thread Richard Guenther
On Fri, Mar 11, 2011 at 5:23 AM, Nathan Froyd froy...@codesourcery.com wrote: The first step in removing TREE_CHAIN (and even TREE_TYPE) from a select few nodes is to create separate substructures for trees-with-type and trees-with-chain.  Since trees-with-type but no chain are expected to be

Re: [PATCH 05/18] remove TREE_CHAIN from CONSTRUCTOR nodes

2011-03-11 Thread Richard Guenther
On Fri, Mar 11, 2011 at 5:23 AM, Nathan Froyd froy...@codesourcery.com wrote: A straightforward conversion. Ok for 4.7. Thanks, Richard. -Nathan gcc/        * tree.h (struct tree_constructor): Include typed_tree instead of        tree_common.        * tree.c

Re: [PATCH 03/18] remove TREE_CHAIN from *_CST nodes

2011-03-11 Thread Richard Guenther
On Fri, Mar 11, 2011 at 5:23 AM, Nathan Froyd froy...@codesourcery.com wrote: *_CST nodes don't need TREE_CHAIN.  Make them include typed_tree instead, mark them as such in initialize_tree_contains_struct, and don't print out their TREE_CHAIN. Ok for 4.7 if it bootstraps and tests for all

Re: [PATCH 06/18] define CASE_CHAIN accessor for CASE_LABEL_EXPR

2011-03-11 Thread Richard Guenther
On Fri, Mar 11, 2011 at 5:23 AM, Nathan Froyd froy...@codesourcery.com wrote: This patch begins a subseries of patches aimed at removing TREE_CHAIN from expression trees.  tree-cfg.c uses TREE_CHAIN for some analysis steps on CASE_LABEL_EXPRs.  I looked at this for a while, thinking it'd be

Re: [PATCH][C] Fix PR47939

2011-03-11 Thread Joseph S. Myers
On Fri, 11 Mar 2011, Richard Guenther wrote: Indeed. I tried to let the array case alone (because it's so complicated) but failed to do so. Appearantly if (declarator-kind == cdk_array TYPE_QUALS (element_type)) type = TYPE_MAIN_VARIANT (type); leaves it alone (and doesn't emit

Re: [PATCH 17/18] introduce block_chainon and use BLOCK_CHAIN more

2011-03-11 Thread Nathan Froyd
On Fri, Mar 11, 2011 at 02:15:20PM +0100, Richard Guenther wrote: On Fri, Mar 11, 2011 at 5:23 AM, Nathan Froyd froy...@codesourcery.com wrote: BLOCKs have a TREE_CHAIN and a TREE_TYPE; TREE_TYPE is useless for blocks, but we can't remove TREE_TYPE without also removing TREE_CHAIN. This

Re: [PATCH 12/18] make CASE_LABEL_EXPR not abuse TREE_CHAIN

2011-03-11 Thread Richard Guenther
On Fri, Mar 11, 2011 at 5:23 AM, Nathan Froyd froy...@codesourcery.com wrote: Move CASE_CHAIN into a local operand for CASE_LABEL_EXPR.  Nothing to see here. I wonder if there isn't a better way to do this ... like always requiring operand 2 of SWITCH_EXPRs. Richard. -Nathan gcc/        *

Re: [PATCH 02/18] enforce TREE_CHAIN and TREE_TYPE accesses

2011-03-11 Thread Richard Guenther
On Fri, Mar 11, 2011 at 5:23 AM, Nathan Froyd froy...@codesourcery.com wrote: Now that we have a structure where not every node might include TREE_CHAIN or TREE_TYPE, we need to make sure that when we call said accessors that the argument is properly typed.  This requires a number of changes:

Re: [PATCH, 4.7] Have all inlining destinations analyzed

2011-03-11 Thread Richard Guenther
On Fri, Mar 11, 2011 at 10:58 AM, Martin Jambor mjam...@suse.cz wrote: Hi, after I simply moved id-dst_node-analyzed check from expand_call_inline to optimize_inline_calls I tried asserting it there instead.  When running testsuite I found out this works for everything but mudflap which adds

Re: [PATCH 15/18] move REAL_IDENTIFIER_TYPE_VALUE to be a field of lang_identifier

2011-03-11 Thread Jason Merrill
On 03/10/2011 11:23 PM, Nathan Froyd wrote: I'm not overly fond of the conditionals (especially in error_operand_p) but I don't think it's reasonable to make IDENTIFIER_NODE bigger and penalize the other FEs just because the C++ FE is playing games with TREE_TYPE. The C++ FE expects that we

[Patch][AVR]: Support tail calls

2011-03-11 Thread Georg-Johann Lay
This is a patch to test/review/comment on. It adds tail call optimization to avr backend. The implementation uses struct machine_function to pass information around, i.e. from avr_function_arg_advance to avr_function_ok_for_sibcall. Tail call support is more general than avr-ld's replacement of

Re: [PATCH 15/18] move REAL_IDENTIFIER_TYPE_VALUE to be a field of lang_identifier

2011-03-11 Thread Nathan Froyd
On Fri, Mar 11, 2011 at 08:40:24AM -0500, Jason Merrill wrote: On 03/10/2011 11:23 PM, Nathan Froyd wrote: I'm not overly fond of the conditionals (especially in error_operand_p) but I don't think it's reasonable to make IDENTIFIER_NODE bigger and penalize the other FEs just because the C++ FE

[patch][4.7] Enhance XOR handling in simplify-rtx.c

2011-03-11 Thread Chung-Lin Tang
Hi, this patch adds a bit more sophistication to the handled xor RTX cases in foo(). This may look a bit ad hoc, but I am seeing it useful for some cases where we combine zero_extend with (not (shift ...)). The supplied ARM testcase demonstrates when 3-insn combining comes up with: (set (reg:SI

Re: Problem with procedure pointers

2011-03-11 Thread Janus Weil
Ok, since you guys seem to agree on that, here is the patch without module version bumping, but this time complete with test case and ChangeLog. Ok for trunk? OK. Thanks for the patch. Thanks. Committed as r170871. Cheers, Janus 2011-03-10  Janus Weilja...@gcc.gnu.org        PR

Re: [PATCH 15/18] move REAL_IDENTIFIER_TYPE_VALUE to be a field of lang_identifier

2011-03-11 Thread Nathan Froyd
On Fri, Mar 11, 2011 at 06:04:45AM -0800, Nathan Froyd wrote: On Fri, Mar 11, 2011 at 08:40:24AM -0500, Jason Merrill wrote: On 03/10/2011 11:23 PM, Nathan Froyd wrote: The C++ FE expects that we can check the TREE_TYPE of anything that appears as an expression, and uses IDENTIFIER_NODE

Re: [PATCH 07/18] generalize build_case_label to the rest of the compiler

2011-03-11 Thread Tom Tromey
Nathan == Nathan Froyd froy...@codesourcery.com writes: Nathan gcc/java/ Nathan * expr.c (expand_java_switch): Call build_case_label. Nathan (expand_java_add_case): Likewise. The java parts are ok. FWIW, I tend to think that if a core change like this one is accepted, then

Re: [PATCH] PR c++/PR48035

2011-03-11 Thread Jason Merrill
On 03/11/2011 03:01 AM, Jakub Jelinek wrote: Do we need to redo parts of class.c anyway? From what I understand, the problematic vtbl pointers are at the end of the base types and DECL_SIZE is set to the CLASSTYPE_AS_BASE type size, thus those pointers ought to be at or beyond the containing

Re: [PATCH 01/18] add typed_tree structure

2011-03-11 Thread Michael Matz
Hi, On Thu, 10 Mar 2011, Nathan Froyd wrote: * tree.h (struct typed_tree): New. IMO this should be called tree_typed, like the other structs in tree.h . Ciao, Michael.

Re: [build, lto] Only accept -fuse-linker-plugin if linker supports -plugin (PR lto/46944)

2011-03-11 Thread Richard Guenther
On Fri, 11 Mar 2011, Rainer Orth wrote: Richard Guenther rguent...@suse.de writes: Still doesn't work for me if compiling and linking manually with GNU ld 2.21 on Solaris 11/x86: no .res file is being created, although liblto_plugin.so is used. Work as in, it detects if

Re: [PATCH] PR c++/PR48035

2011-03-11 Thread Jason Merrill
On 03/11/2011 10:08 AM, Jakub Jelinek wrote: It worked, here is what I've bootstrapped/regtested on x86_64-linux and i686-linux. Is that ok then? OK. Jason

Re: [build, lto] Only accept -fuse-linker-plugin if linker supports -plugin (PR lto/46944)

2011-03-11 Thread Rainer Orth
Richard Guenther rguent...@suse.de writes: I'm using gld 2.21, and -flto automatically uses the linker plugin, as seen with -v. Despite that, -plugin-opt=-fresolution=ldl.res is passed to collect2/ld, but no ldl.res file is created. In truss, I see a stat of that file, but nothing more.

Re: [PATCH] PR c++/PR48035

2011-03-11 Thread Jason Merrill
On 03/11/2011 10:15 AM, Dodji Seketeli wrote: I have updated is_virtual_base_of to make it test if the current field represents a virtual base. Is there a simpler way to detect that? Yeah, let's go with Jakub's patch. Jason

Re: 4.5 backport request...

2011-03-11 Thread DJ Delorie
I don't think this is suitable for the branch. Any reason why you can't work on the trunk? The vendor's release is 4.5 based, and 4.6 has some performance regressions with this chip. We'd like to sync up the FSF sources with the minor patches the vendor is using, so that their customers can

[PATCH, rs6000] Fix PR48053, ICEs in SPEC benchmarks

2011-03-11 Thread Peter Bergner
This patch fixes the two related bugs in PR48053. The problem here deals with loading constants into VSX registers. The first bug occurs when we try and load up a full constant into the VSX register. We end up calling easy_vector_constant_msb which is supported only for V4SI and V4SF modes. The

Re: fix for pr47837

2011-03-11 Thread Jeff Law
-BEGIN PGP SIGNED MESSAGE- Hash: SHA1 On 03/09/11 11:07, Xinliang David Li wrote: Ok. Regarding this particular patch, I hope it can be checked in to make the test clean. It is a simple enhancement to a wheel that is already there. It also serves as a case that can be referenced in

Re: fix for pr47837

2011-03-11 Thread Jeff Law
-BEGIN PGP SIGNED MESSAGE- Hash: SHA1 On 03/09/11 09:24, Xinliang David Li wrote: On Wed, Mar 9, 2011 at 6:03 AM, Jeff Law l...@redhat.com wrote: On 03/09/11 02:45, Richard Guenther wrote: On Tue, Mar 8, 2011 at 11:04 PM, Jeff Law l...@redhat.com wrote: True. I've been repeatedly

Re: PATCH to attribute_takes_identifier_p for c++/46803

2011-03-11 Thread Jason Merrill
On 03/11/2011 04:35 PM, Jason Merrill wrote: Tested x86_64-pc-linux-gnu, applied to trunk. Hmm, I thought bootstrap used -Werror, but I just noticed some build warnings from this change. Fixed thus. commit 9bf1c74e01512f43f764c9a4d437f9d999b74117 Author: jason

C++ PATCH for c++/47144 (accepts-invalid with type definition in template argument)

2011-03-11 Thread Jason Merrill
G++ was oddly accepting this testcase even though it uses a name which is not defined anywhere. This turns out to be because when we see the struct B { } we commit to all tentative parses. We happened to be in the middle of testing whether A...::SomeNonSense is a constructor declarator, so

[x32] PR target/47446: [x32] .quad instead of .long is used for address

2011-03-11 Thread H.J. Lu
I checked in this patch to always allow the offsetted memory references for TARGET_X32. H.J. commit 8dba2cfc28716e09853233e19500e44ba2619cb6 Author: H.J. Lu hjl.to...@gmail.com Date: Fri Mar 11 13:34:17 2011 -0800 Always allow the offsetted memory references for TARGET_X32. diff

Re: fix for pr47837

2011-03-11 Thread Richard Guenther
On Fri, Mar 11, 2011 at 8:50 PM, Jeff Law l...@redhat.com wrote: -BEGIN PGP SIGNED MESSAGE- Hash: SHA1 On 03/09/11 09:24, Xinliang David Li wrote: On Wed, Mar 9, 2011 at 6:03 AM, Jeff Law l...@redhat.com wrote: On 03/09/11 02:45, Richard Guenther wrote: On Tue, Mar 8, 2011 at 11:04

Re: [PATCH] Fix PR47127: call cloog_state_malloc and cloog_state_free only once.

2011-03-11 Thread Richard Guenther
On Fri, Mar 11, 2011 at 10:38 PM, Sebastian Pop seb...@gmail.com wrote: Hi, we currently call cloog_state_malloc and cloog_state_free too many times.  In CLooG-Parma, these functions contain the init and fini functions of PPL, and so calling these in the middle of graphite would finalize all

Re: fix for pr47837

2011-03-11 Thread Xinliang David Li
On Fri, Mar 11, 2011 at 11:50 AM, Jeff Law l...@redhat.com wrote: -BEGIN PGP SIGNED MESSAGE- Hash: SHA1 On 03/09/11 09:24, Xinliang David Li wrote: On Wed, Mar 9, 2011 at 6:03 AM, Jeff Law l...@redhat.com wrote: On 03/09/11 02:45, Richard Guenther wrote: On Tue, Mar 8, 2011 at 11:04

C++ PATCH for c++/47125 (ICE with template elaborated-type-specifier)

2011-03-11 Thread Jason Merrill
A straightforward case of some errors that were not properly protected by checking complain. Tested x86_64-pc-linux-gnu, applied to trunk. commit 49d36af37792ed3f1359f80443bc2ef9a25270c1 Author: Jason Merrill ja...@redhat.com Date: Fri Mar 11 21:32:40 2011 -0500 PR c++/47125