Re: C++ frontend generating bogous trees

2005-02-15 Thread Richard Guenther
On Tue, 15 Feb 2005 22:26:31 +0100, Richard Guenther <[EMAIL PROTECTED]> wrote: > I guess the above > should rather read > > if (TREE_CODE (exp) == VAR_DECL) > { > if (!cxx_mark_addressable (exp)) > return error_mark_node; > adr = build1 (ADDR_EXPR, p

Re: C++ frontend generating bogous trees

2005-02-15 Thread Richard Guenther
> Yes, I'm working at fixing PR19807, i.e. folding of &a[] + c and &a + c, > current patch (and related fixes) attached. Now, really. Richard. p Description: Binary data

Re: C++ frontend generating bogous trees

2005-02-15 Thread Richard Guenther
On Tue, 15 Feb 2005 16:29:09 -0500, Andrew Pinski <[EMAIL PROTECTED]> wrote: > > On Feb 15, 2005, at 4:26 PM, Richard Guenther wrote: > > > Ok, I guess the following excerpts from cp/typechk.c show a > > discrepancy: > > Can you at least reduce the C++ code and also provide the patch which > you

Re: C++ frontend generating bogous trees

2005-02-15 Thread Andrew Pinski
On Feb 15, 2005, at 4:26 PM, Richard Guenther wrote: Ok, I guess the following excerpts from cp/typechk.c show a discrepancy: Can you at least reduce the C++ code and also provide the patch which you are working on currently, this will help us understand the problem better? -- Pinski

Re: C++ frontend generating bogous trees

2005-02-15 Thread Richard Guenther
Ok, I guess the following excerpts from cp/typechk.c show a discrepancy: tree build_address (tree t) { tree addr; if (error_operand_p (t) || !cxx_mark_addressable (t)) return error_mark_node; addr = build1 (ADDR_EXPR, build_pointer_type (TREE_TYPE (t)), t); return addr; } 1381 (de

C++ frontend generating bogous trees

2005-02-15 Thread Richard Guenther
Hi! The C++ frontend creates from cp/call.c:3864 (build_new_op (code=PLUS_EXPR, flags=3, ...)) with arg1 (gdb) call debug_tree(arg1) volatile unsigned type_6 DI size unit size align 64 symtab -1780663408 alias set -1 pointer_to_this