* [Bug c++/21308] [3.4/4.0/4.1 Regression] Very high compile time
[not found] <bug-21308-4127@http.gcc.gnu.org/bugzilla/>
@ 2005-10-31 3:11 ` mmitchel at gcc dot gnu dot org
2005-11-06 0:55 ` mmitchel at gcc dot gnu dot org
` (9 subsequent siblings)
10 siblings, 0 replies; 11+ messages in thread
From: mmitchel at gcc dot gnu dot org @ 2005-10-31 3:11 UTC (permalink / raw)
To: gcc-bugs
------- Comment #10 from mmitchel at gcc dot gnu dot org 2005-10-31 03:11 -------
I had another round of thoughts about this bug. It's clear that we need better
data structures to get this right. It's not clear that I know what they should
be.
In any case, yes, we should try to ameliorate this problem; leaving as P2.
--
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=21308
^ permalink raw reply [flat|nested] 11+ messages in thread
* [Bug c++/21308] [3.4/4.0/4.1 Regression] Very high compile time
[not found] <bug-21308-4127@http.gcc.gnu.org/bugzilla/>
2005-10-31 3:11 ` [Bug c++/21308] [3.4/4.0/4.1 Regression] Very high compile time mmitchel at gcc dot gnu dot org
@ 2005-11-06 0:55 ` mmitchel at gcc dot gnu dot org
2005-11-06 18:21 ` mmitchel at gcc dot gnu dot org
` (8 subsequent siblings)
10 siblings, 0 replies; 11+ messages in thread
From: mmitchel at gcc dot gnu dot org @ 2005-11-06 0:55 UTC (permalink / raw)
To: gcc-bugs
------- Comment #11 from mmitchel at gcc dot gnu dot org 2005-11-06 00:55 -------
I thought that a key observation is that we only need to know (a) what empty
subobjects are at offset zero, and (b) what empty subobjects occur before the
location where we will next place a non-empty field or base. Therefore, we can
avoid recording the offsets for any of the empty objects in the array other
than those at offset zero.
However, I forgot that empty classes do not necessarily have size one:
class A {};
class B : public A {};
class C : public A, public B {}; // C empty, sizeof (C) == 2
So, the observation above has to be modified -- instead of just offset zero we
must care about empty objects at offsets < N, where N is the sizeof the largest
empty class we have thus far encountered in the translation unit.
That should still permit very considerable improvement. I plan to work on
implementing this improvement soon.
--
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=21308
^ permalink raw reply [flat|nested] 11+ messages in thread
* [Bug c++/21308] [3.4/4.0/4.1 Regression] Very high compile time
[not found] <bug-21308-4127@http.gcc.gnu.org/bugzilla/>
2005-10-31 3:11 ` [Bug c++/21308] [3.4/4.0/4.1 Regression] Very high compile time mmitchel at gcc dot gnu dot org
2005-11-06 0:55 ` mmitchel at gcc dot gnu dot org
@ 2005-11-06 18:21 ` mmitchel at gcc dot gnu dot org
2005-11-06 19:41 ` mmitchel at gcc dot gnu dot org
` (7 subsequent siblings)
10 siblings, 0 replies; 11+ messages in thread
From: mmitchel at gcc dot gnu dot org @ 2005-11-06 18:21 UTC (permalink / raw)
To: gcc-bugs
--
mmitchel at gcc dot gnu dot org changed:
What |Removed |Added
----------------------------------------------------------------------------
AssignedTo|unassigned at gcc dot gnu |mark at codesourcery dot com
|dot org |
Status|NEW |ASSIGNED
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=21308
^ permalink raw reply [flat|nested] 11+ messages in thread
* [Bug c++/21308] [3.4/4.0/4.1 Regression] Very high compile time
[not found] <bug-21308-4127@http.gcc.gnu.org/bugzilla/>
` (2 preceding siblings ...)
2005-11-06 18:21 ` mmitchel at gcc dot gnu dot org
@ 2005-11-06 19:41 ` mmitchel at gcc dot gnu dot org
2005-11-06 19:53 ` mmitchel at gcc dot gnu dot org
` (6 subsequent siblings)
10 siblings, 0 replies; 11+ messages in thread
From: mmitchel at gcc dot gnu dot org @ 2005-11-06 19:41 UTC (permalink / raw)
To: gcc-bugs
------- Comment #12 from mmitchel at gcc dot gnu dot org 2005-11-06 19:41 -------
Subject: Bug 21308
Author: mmitchel
Date: Sun Nov 6 19:41:18 2005
New Revision: 106566
URL: http://gcc.gnu.org/viewcvs?root=gcc&view=rev&rev=106566
Log:
PR c++/21308
* class.c (sizeof_biggest_empty_class): New variable.
(record_subobject_offsets): Don't record offsets past biggest
empty class for data members. Replace vbases_p parameter with
is_data_member parameter.
(build_base_field): Adjust call.
(layout_class_type): Likewise. Maintain
sizeof_biggest_empty_class.
Modified:
trunk/gcc/cp/ChangeLog
trunk/gcc/cp/class.c
--
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=21308
^ permalink raw reply [flat|nested] 11+ messages in thread
* [Bug c++/21308] [3.4/4.0/4.1 Regression] Very high compile time
[not found] <bug-21308-4127@http.gcc.gnu.org/bugzilla/>
` (3 preceding siblings ...)
2005-11-06 19:41 ` mmitchel at gcc dot gnu dot org
@ 2005-11-06 19:53 ` mmitchel at gcc dot gnu dot org
2005-11-06 19:56 ` [Bug c++/21308] [3.4/4.0 " mmitchel at gcc dot gnu dot org
` (5 subsequent siblings)
10 siblings, 0 replies; 11+ messages in thread
From: mmitchel at gcc dot gnu dot org @ 2005-11-06 19:53 UTC (permalink / raw)
To: gcc-bugs
------- Comment #13 from mmitchel at gcc dot gnu dot org 2005-11-06 19:53 -------
*** Bug 18462 has been marked as a duplicate of this bug. ***
--
Bug 21308 depends on bug 18462, which changed state.
Bug 18462 Summary: [3.4 Regression] Segfault on declaration of large array member
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=18462
What |Old Value |New Value
----------------------------------------------------------------------------
Status|NEW |RESOLVED
Resolution| |DUPLICATE
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=21308
^ permalink raw reply [flat|nested] 11+ messages in thread
* [Bug c++/21308] [3.4/4.0 Regression] Very high compile time
[not found] <bug-21308-4127@http.gcc.gnu.org/bugzilla/>
` (4 preceding siblings ...)
2005-11-06 19:53 ` mmitchel at gcc dot gnu dot org
@ 2005-11-06 19:56 ` mmitchel at gcc dot gnu dot org
2005-11-07 23:10 ` mmitchel at gcc dot gnu dot org
` (4 subsequent siblings)
10 siblings, 0 replies; 11+ messages in thread
From: mmitchel at gcc dot gnu dot org @ 2005-11-06 19:56 UTC (permalink / raw)
To: gcc-bugs
------- Comment #14 from mmitchel at gcc dot gnu dot org 2005-11-06 19:56 -------
Fixed in 4.1.0.
--
mmitchel at gcc dot gnu dot org changed:
What |Removed |Added
----------------------------------------------------------------------------
Summary|[3.4/4.0/4.1 Regression] |[3.4/4.0 Regression] Very
|Very high compile time |high compile time
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=21308
^ permalink raw reply [flat|nested] 11+ messages in thread
* [Bug c++/21308] [3.4/4.0 Regression] Very high compile time
[not found] <bug-21308-4127@http.gcc.gnu.org/bugzilla/>
` (5 preceding siblings ...)
2005-11-06 19:56 ` [Bug c++/21308] [3.4/4.0 " mmitchel at gcc dot gnu dot org
@ 2005-11-07 23:10 ` mmitchel at gcc dot gnu dot org
2006-03-11 3:17 ` mmitchel at gcc dot gnu dot org
` (3 subsequent siblings)
10 siblings, 0 replies; 11+ messages in thread
From: mmitchel at gcc dot gnu dot org @ 2005-11-07 23:10 UTC (permalink / raw)
To: gcc-bugs
------- Comment #15 from mmitchel at gcc dot gnu dot org 2005-11-07 23:10 -------
*** Bug 23457 has been marked as a duplicate of this bug. ***
--
mmitchel at gcc dot gnu dot org changed:
What |Removed |Added
----------------------------------------------------------------------------
CC| |laurent dot deniau at cern
| |dot ch
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=21308
^ permalink raw reply [flat|nested] 11+ messages in thread
* [Bug c++/21308] [3.4/4.0 Regression] Very high compile time
[not found] <bug-21308-4127@http.gcc.gnu.org/bugzilla/>
` (6 preceding siblings ...)
2005-11-07 23:10 ` mmitchel at gcc dot gnu dot org
@ 2006-03-11 3:17 ` mmitchel at gcc dot gnu dot org
2006-08-26 0:10 ` [Bug c++/21308] [4.0 " echristo at apple dot com
` (2 subsequent siblings)
10 siblings, 0 replies; 11+ messages in thread
From: mmitchel at gcc dot gnu dot org @ 2006-03-11 3:17 UTC (permalink / raw)
To: gcc-bugs
--
mmitchel at gcc dot gnu dot org changed:
What |Removed |Added
----------------------------------------------------------------------------
Target Milestone|4.0.3 |4.0.4
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=21308
^ permalink raw reply [flat|nested] 11+ messages in thread
* [Bug c++/21308] [4.0 Regression] Very high compile time
[not found] <bug-21308-4127@http.gcc.gnu.org/bugzilla/>
` (7 preceding siblings ...)
2006-03-11 3:17 ` mmitchel at gcc dot gnu dot org
@ 2006-08-26 0:10 ` echristo at apple dot com
2006-08-28 7:42 ` laurent dot deniau at cern dot ch
2007-01-18 4:06 ` gdr at gcc dot gnu dot org
10 siblings, 0 replies; 11+ messages in thread
From: echristo at apple dot com @ 2006-08-26 0:10 UTC (permalink / raw)
To: gcc-bugs
------- Comment #16 from echristo at apple dot com 2006-08-26 00:10 -------
Should this be closed as "unlikely to fix in 4.0"?
--
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=21308
^ permalink raw reply [flat|nested] 11+ messages in thread
* [Bug c++/21308] [4.0 Regression] Very high compile time
[not found] <bug-21308-4127@http.gcc.gnu.org/bugzilla/>
` (8 preceding siblings ...)
2006-08-26 0:10 ` [Bug c++/21308] [4.0 " echristo at apple dot com
@ 2006-08-28 7:42 ` laurent dot deniau at cern dot ch
2007-01-18 4:06 ` gdr at gcc dot gnu dot org
10 siblings, 0 replies; 11+ messages in thread
From: laurent dot deniau at cern dot ch @ 2006-08-28 7:42 UTC (permalink / raw)
To: gcc-bugs
------- Comment #17 from laurent dot deniau at cern dot ch 2006-08-28 07:42 -------
Subject: Re: [4.0 Regression] Very high compile time
echristo at apple dot com wrote:
> ------- Comment #16 from echristo at apple dot com 2006-08-26 00:10 -------
> Should this be closed as "unlikely to fix in 4.0"?
No idea. I am not the poster of this bug report.
Regards,
Laurent.
--
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=21308
^ permalink raw reply [flat|nested] 11+ messages in thread
* [Bug c++/21308] [4.0 Regression] Very high compile time
[not found] <bug-21308-4127@http.gcc.gnu.org/bugzilla/>
` (9 preceding siblings ...)
2006-08-28 7:42 ` laurent dot deniau at cern dot ch
@ 2007-01-18 4:06 ` gdr at gcc dot gnu dot org
10 siblings, 0 replies; 11+ messages in thread
From: gdr at gcc dot gnu dot org @ 2007-01-18 4:06 UTC (permalink / raw)
To: gcc-bugs
------- Comment #18 from gdr at gcc dot gnu dot org 2007-01-18 04:05 -------
Fixed in GCC-4.1.1.
Won't fix in GCC-4.0.x
--
gdr at gcc dot gnu dot org changed:
What |Removed |Added
----------------------------------------------------------------------------
Status|ASSIGNED |RESOLVED
Resolution| |FIXED
Target Milestone|4.0.4 |4.1.1
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=21308
^ permalink raw reply [flat|nested] 11+ messages in thread