[Bug middle-end/33199] [4.3 Regression] tr1/2_general_utilities/shared_ptr/assign/auto_ptr.cc

2007-09-07 Thread rguenth at gcc dot gnu dot org
--- Comment #28 from rguenth at gcc dot gnu dot org 2007-09-07 14:03 --- I'm closing this as fixed as I don't see the failure any more. -- rguenth at gcc dot gnu dot org changed: What|Removed |Added

[Bug middle-end/33199] [4.3 Regression] tr1/2_general_utilities/shared_ptr/assign/auto_ptr.cc

2007-09-04 Thread mmitchel at gcc dot gnu dot org
-- mmitchel at gcc dot gnu dot org changed: What|Removed |Added Priority|P3 |P1 http://gcc.gnu.org/bugzilla/show_bug.cgi?id=33199

[Bug middle-end/33199] [4.3 Regression] tr1/2_general_utilities/shared_ptr/assign/auto_ptr.cc

2007-08-30 Thread rguenth at gcc dot gnu dot org
--- Comment #23 from rguenth at gcc dot gnu dot org 2007-08-30 09:07 --- I don't think the patch fixes anything. Can you elaborate on D.8892_26 is a non-pointer variable, eliminating edges. but D.8892 _is_ a pointer. Or is it just that D.8892_26 is ultimately copied from a pointer

[Bug middle-end/33199] [4.3 Regression] tr1/2_general_utilities/shared_ptr/assign/auto_ptr.cc

2007-08-30 Thread rguenth at gcc dot gnu dot org
--- Comment #24 from rguenth at gcc dot gnu dot org 2007-08-30 09:49 --- Note that even with the proposed patch we generate different code dependent on if -g is enabled or not. Starting with the first alias pass there are differences in the has_volatile_ops annotations! @@ -3818,9

[Bug middle-end/33199] [4.3 Regression] tr1/2_general_utilities/shared_ptr/assign/auto_ptr.cc

2007-08-30 Thread rguenth at gcc dot gnu dot org
--- Comment #25 from rguenth at gcc dot gnu dot org 2007-08-30 12:14 --- Created an attachment (id=14142) -- (http://gcc.gnu.org/bugzilla/attachment.cgi?id=14142action=view) reduced testcase for the volatile diffs against same svn revision + the proposed patch --

[Bug middle-end/33199] [4.3 Regression] tr1/2_general_utilities/shared_ptr/assign/auto_ptr.cc

2007-08-30 Thread rguenth at gcc dot gnu dot org
--- Comment #26 from rguenth at gcc dot gnu dot org 2007-08-30 14:52 --- Subject: Bug 33199 Author: rguenth Date: Thu Aug 30 14:52:28 2007 New Revision: 127927 URL: http://gcc.gnu.org/viewcvs?root=gccview=revrev=127927 Log: 2007-08-30 Richard Guenther [EMAIL PROTECTED] PR

[Bug middle-end/33199] [4.3 Regression] tr1/2_general_utilities/shared_ptr/assign/auto_ptr.cc

2007-08-30 Thread dberlin at gcc dot gnu dot org
--- Comment #27 from dberlin at gcc dot gnu dot org 2007-08-30 14:56 --- (In reply to comment #23) I don't think the patch fixes anything. Uh, sure it does. Before we were ignoring the pointer results from calls. They should point to anything. Can you elaborate on D.8892_26

[Bug middle-end/33199] [4.3 Regression] tr1/2_general_utilities/shared_ptr/assign/auto_ptr.cc

2007-08-29 Thread rguenth at gcc dot gnu dot org
--- Comment #19 from rguenth at gcc dot gnu dot org 2007-08-29 10:32 --- MTAG_ALIASES of the SMTs are different: SMT.469 no aliases SMT.470 no aliases SMT.464{ ctor_count ctor_count dtor_count SMT.465 SMT.470 } SMT.465{ ctor_count ctor_count dtor_count SMT.470 } SMT.466{ ctor_count

[Bug middle-end/33199] [4.3 Regression] tr1/2_general_utilities/shared_ptr/assign/auto_ptr.cc

2007-08-29 Thread rguenth at gcc dot gnu dot org
--- Comment #20 from rguenth at gcc dot gnu dot org 2007-08-29 11:58 --- Due to the alias differences with -g compared to without -g we have the following difference after tree-level optimization: --- - 2007-08-29 13:52:02.567822000 +0200 +++ b/auto_ptr.min.ii.116t.optimized

[Bug middle-end/33199] [4.3 Regression] tr1/2_general_utilities/shared_ptr/assign/auto_ptr.cc

2007-08-29 Thread rguenth at gcc dot gnu dot org
--- Comment #21 from rguenth at gcc dot gnu dot org 2007-08-29 15:19 --- I wonder why D.9380_64, defined as D.9380_64 = D.8894_34-_M_use_count; points to anything and NULL: D.9380_64, is dereferenced, points-to anything, points-to NULL where the single dereference site looks

[Bug middle-end/33199] [4.3 Regression] tr1/2_general_utilities/shared_ptr/assign/auto_ptr.cc

2007-08-29 Thread dberlin at dberlin dot org
--- Comment #22 from dberlin at gcc dot gnu dot org 2007-08-29 18:30 --- Subject: Re: [4.3 Regression] tr1/2_general_utilities/shared_ptr/assign/auto_ptr.cc On 29 Aug 2007 15:19:10 -, rguenth at gcc dot gnu dot org [EMAIL PROTECTED] wrote: --- Comment #21 from rguenth at

[Bug middle-end/33199] [4.3 Regression] tr1/2_general_utilities/shared_ptr/assign/auto_ptr.cc

2007-08-28 Thread rguenth at gcc dot gnu dot org
--- Comment #12 from rguenth at gcc dot gnu dot org 2007-08-28 08:52 --- Note I think it is perfectly reasonable and wanted that we can inline template_Lock_policy _Lp inline void __enable_shared_from_this_helper(const __shared_count_Lp, ...) { } and thus eliminate

[Bug middle-end/33199] [4.3 Regression] tr1/2_general_utilities/shared_ptr/assign/auto_ptr.cc

2007-08-28 Thread pcarlini at suse dot de
--- Comment #13 from pcarlini at suse dot de 2007-08-28 08:56 --- (In reply to comment #12) Totally agreed. In any case, I think we all agree that: 1- Miscompilations are always very bad; 2- It is legal C++; 3- Any user, not just library authors, can write such kind of code. --

[Bug middle-end/33199] [4.3 Regression] tr1/2_general_utilities/shared_ptr/assign/auto_ptr.cc

2007-08-28 Thread rguenth at gcc dot gnu dot org
--- Comment #14 from rguenth at gcc dot gnu dot org 2007-08-28 11:05 --- I'm reducing the testcase now. -- http://gcc.gnu.org/bugzilla/show_bug.cgi?id=33199

[Bug middle-end/33199] [4.3 Regression] tr1/2_general_utilities/shared_ptr/assign/auto_ptr.cc

2007-08-28 Thread rguenth at gcc dot gnu dot org
--- Comment #15 from rguenth at gcc dot gnu dot org 2007-08-28 13:54 --- The first difference (between -g and non--g build) is after DSE where for the -g build it doesn't delete a redundant store. Which is because we have different alias information with/without -g (in fact this

[Bug middle-end/33199] [4.3 Regression] tr1/2_general_utilities/shared_ptr/assign/auto_ptr.cc

2007-08-28 Thread rguenth at gcc dot gnu dot org
--- Comment #16 from rguenth at gcc dot gnu dot org 2007-08-28 15:56 --- The differences in alias info are due to different memory partitioning that happens (regardless of same IL, same number of referenced vars and same BB frequencies) as we have different Memory symbol references

[Bug middle-end/33199] [4.3 Regression] tr1/2_general_utilities/shared_ptr/assign/auto_ptr.cc

2007-08-28 Thread rguenth at gcc dot gnu dot org
--- Comment #17 from rguenth at gcc dot gnu dot org 2007-08-28 16:24 --- Created an attachment (id=14128) -- (http://gcc.gnu.org/bugzilla/attachment.cgi?id=14128action=view) reduced testcase Reduced testcase. Note that even removing an unused class (struct counter) makes the

[Bug middle-end/33199] [4.3 Regression] tr1/2_general_utilities/shared_ptr/assign/auto_ptr.cc

2007-08-28 Thread rguenth at gcc dot gnu dot org
--- Comment #18 from rguenth at gcc dot gnu dot org 2007-08-28 19:23 --- Just to add, the reduced testcase fails with r127848. I suppose the failure might vanish with the inliner change I put in after that. -- rguenth at gcc dot gnu dot org changed: What|Removed

[Bug middle-end/33199] [4.3 Regression] tr1/2_general_utilities/shared_ptr/assign/auto_ptr.cc

2007-08-27 Thread rguenth at gcc dot gnu dot org
--- Comment #4 from rguenth at gcc dot gnu dot org 2007-08-27 07:31 --- The inliner can perfectly cope with varargs if they are unused. See gcc.dg/inline-23.c: /* { dg-do compile } */ /* { dg-options -std=gnu89 } */ /* Make sure we can inline a varargs function whose variable

[Bug middle-end/33199] [4.3 Regression] tr1/2_general_utilities/shared_ptr/assign/auto_ptr.cc

2007-08-27 Thread rguenth at gcc dot gnu dot org
--- Comment #5 from rguenth at gcc dot gnu dot org 2007-08-27 15:27 --- Doesn't fail for me on x86_64 with -m32. -- http://gcc.gnu.org/bugzilla/show_bug.cgi?id=33199

[Bug middle-end/33199] [4.3 Regression] tr1/2_general_utilities/shared_ptr/assign/auto_ptr.cc

2007-08-27 Thread hjl at lucon dot org
--- Comment #6 from hjl at lucon dot org 2007-08-27 16:11 --- I saw it on Linux/ia64 running RHEL4, on Linux/ia32 running RHEL4 and RHEL5 as well as with -m32 on Linux/x86-64 running F7, RHEL4 and RHEL5. If I have to guess, some vararg functions may be only available on certain

[Bug middle-end/33199] [4.3 Regression] tr1/2_general_utilities/shared_ptr/assign/auto_ptr.cc

2007-08-27 Thread rguenther at suse dot de
--- Comment #7 from rguenther at suse dot de 2007-08-27 16:16 --- Subject: Re: [4.3 Regression] tr1/2_general_utilities/shared_ptr/assign/auto_ptr.cc On Mon, 27 Aug 2007, hjl at lucon dot org wrote: --- Comment #6 from hjl at lucon dot org 2007-08-27 16:11 --- I saw it on

[Bug middle-end/33199] [4.3 Regression] tr1/2_general_utilities/shared_ptr/assign/auto_ptr.cc

2007-08-27 Thread hjl at lucon dot org
--- Comment #8 from hjl at lucon dot org 2007-08-27 16:43 --- Created an attachment (id=14124) -- (http://gcc.gnu.org/bugzilla/attachment.cgi?id=14124action=view) A testcase It should be compiled with -O2 -m32 -g -O2 -ffunction-sections -fdata-sections -fmessage-length=0 -g -O2

[Bug middle-end/33199] [4.3 Regression] tr1/2_general_utilities/shared_ptr/assign/auto_ptr.cc

2007-08-27 Thread hjl at lucon dot org
--- Comment #9 from hjl at lucon dot org 2007-08-27 20:39 --- This patch: Index: decl.c === --- decl.c (revision 127763) +++ decl.c (working copy) @@ -11525,6 +11525,9 @@ finish_function (int flags)

[Bug middle-end/33199] [4.3 Regression] tr1/2_general_utilities/shared_ptr/assign/auto_ptr.cc

2007-08-27 Thread jakub at gcc dot gnu dot org
--- Comment #10 from jakub at gcc dot gnu dot org 2007-08-27 21:42 --- This really can't be worked around, but has to be fixed properly. for i in -g; do ./g++ -B ./ -O2 $i -m32 -o auto_ptr /tmp/auto_ptr.ii -L../x86_64-unknown-linux-gnu/32/libstdc++-v3/src/.libs/

[Bug middle-end/33199] [4.3 Regression] tr1/2_general_utilities/shared_ptr/assign/auto_ptr.cc

2007-08-27 Thread hjl at lucon dot org
--- Comment #11 from hjl at lucon dot org 2007-08-27 21:57 --- build_new_1 has /* Now, check to see if this function is actually a placement allocation function. This can happen even when PLACEMENT is NULL because we might have something like: struct S { void*

[Bug middle-end/33199] [4.3 Regression] tr1/2_general_utilities/shared_ptr/assign/auto_ptr.cc

2007-08-26 Thread hjl at lucon dot org
--- Comment #1 from hjl at lucon dot org 2007-08-26 21:59 --- The patch is at http://gcc.gnu.org/ml/gcc-patches/2007-08/msg01374.html -- http://gcc.gnu.org/bugzilla/show_bug.cgi?id=33199

[Bug middle-end/33199] [4.3 Regression] tr1/2_general_utilities/shared_ptr/assign/auto_ptr.cc

2007-08-26 Thread hjl at lucon dot org
--- Comment #3 from hjl at lucon dot org 2007-08-27 01:27 --- Revision 127763 removed varargs_function_p call for C++. I tried this patch: Index: tree-inline.c === --- tree-inline.c (revision 127763) +++