public inbox for gcc-bugs@sourceware.org
help / color / mirror / Atom feed
* [Bug c++/13764] New: [tree-ssa] g++ creates extra blocks
@ 2004-01-20 7:25 dann at godzilla dot ics dot uci dot edu
2004-01-20 15:18 ` [Bug c++/13764] " pinskia at gcc dot gnu dot org
` (7 more replies)
0 siblings, 8 replies; 9+ messages in thread
From: dann at godzilla dot ics dot uci dot edu @ 2004-01-20 7:25 UTC (permalink / raw)
To: gcc-bugs
This function:
void bar (void)
{
int a;
}
when compiled with g++
is dumped as:
;; Function void bar() (_Z3barv)
;; enabled by -tree-original
{
{ // extra block, should not be needed
int a
}
}
when compiled with gcc
;; Function bar (bar)
;; enabled by -tree-original
{
int a
}
The extra blocks created are also confirmed by -fmem-report:
for gcc:
blocks 3 132
for g++:
blocks 5 220
--
Summary: [tree-ssa] g++ creates extra blocks
Product: gcc
Version: tree-ssa
Status: UNCONFIRMED
Severity: normal
Priority: P2
Component: c++
AssignedTo: unassigned at gcc dot gnu dot org
ReportedBy: dann at godzilla dot ics dot uci dot edu
CC: gcc-bugs at gcc dot gnu dot org
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=13764
^ permalink raw reply [flat|nested] 9+ messages in thread
* [Bug c++/13764] [tree-ssa] g++ creates extra blocks
2004-01-20 7:25 [Bug c++/13764] New: [tree-ssa] g++ creates extra blocks dann at godzilla dot ics dot uci dot edu
@ 2004-01-20 15:18 ` pinskia at gcc dot gnu dot org
2004-01-21 20:18 ` pinskia at gcc dot gnu dot org
` (6 subsequent siblings)
7 siblings, 0 replies; 9+ messages in thread
From: pinskia at gcc dot gnu dot org @ 2004-01-20 15:18 UTC (permalink / raw)
To: gcc-bugs
------- Additional Comments From pinskia at gcc dot gnu dot org 2004-01-20 15:18 -------
Confirmed.
--
What |Removed |Added
----------------------------------------------------------------------------
Status|UNCONFIRMED |NEW
Ever Confirmed| |1
Keywords| |memory-hog
Last reconfirmed|0000-00-00 00:00:00 |2004-01-20 15:18:24
date| |
Target Milestone|--- |tree-ssa
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=13764
^ permalink raw reply [flat|nested] 9+ messages in thread
* [Bug c++/13764] [tree-ssa] g++ creates extra blocks
2004-01-20 7:25 [Bug c++/13764] New: [tree-ssa] g++ creates extra blocks dann at godzilla dot ics dot uci dot edu
2004-01-20 15:18 ` [Bug c++/13764] " pinskia at gcc dot gnu dot org
@ 2004-01-21 20:18 ` pinskia at gcc dot gnu dot org
2004-01-23 3:15 ` rth at gcc dot gnu dot org
` (5 subsequent siblings)
7 siblings, 0 replies; 9+ messages in thread
From: pinskia at gcc dot gnu dot org @ 2004-01-21 20:18 UTC (permalink / raw)
To: gcc-bugs
--
What |Removed |Added
----------------------------------------------------------------------------
Severity|normal |enhancement
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=13764
^ permalink raw reply [flat|nested] 9+ messages in thread
* [Bug c++/13764] [tree-ssa] g++ creates extra blocks
2004-01-20 7:25 [Bug c++/13764] New: [tree-ssa] g++ creates extra blocks dann at godzilla dot ics dot uci dot edu
2004-01-20 15:18 ` [Bug c++/13764] " pinskia at gcc dot gnu dot org
2004-01-21 20:18 ` pinskia at gcc dot gnu dot org
@ 2004-01-23 3:15 ` rth at gcc dot gnu dot org
2004-01-26 22:27 ` [Bug c++/13764] c++ front-end " pinskia at gcc dot gnu dot org
` (4 subsequent siblings)
7 siblings, 0 replies; 9+ messages in thread
From: rth at gcc dot gnu dot org @ 2004-01-23 3:15 UTC (permalink / raw)
To: gcc-bugs
------- Additional Comments From rth at gcc dot gnu dot org 2004-01-23 03:15 -------
The block comment in front of begin_function_body reads:
/* Do the necessary processing for the beginning of a function body, which
in this case includes member-initializers, but not the catch clauses of
a function-try-block. Currently, this means opening a binding level
for the member-initializers (in a ctor) and member cleanups (in a dtor).
In other functions, this isn't necessary, but it doesn't hurt. */
This is, incidentally, not specific to tree-ssa.
Jason, you get the bag. Personally, I don't care if you add what
small check might be needed, or close WONTFIX.
--
What |Removed |Added
----------------------------------------------------------------------------
AssignedTo|unassigned at gcc dot gnu |jason at gcc dot gnu dot org
|dot org |
Status|NEW |ASSIGNED
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=13764
^ permalink raw reply [flat|nested] 9+ messages in thread
* [Bug c++/13764] c++ front-end creates extra blocks
2004-01-20 7:25 [Bug c++/13764] New: [tree-ssa] g++ creates extra blocks dann at godzilla dot ics dot uci dot edu
` (2 preceding siblings ...)
2004-01-23 3:15 ` rth at gcc dot gnu dot org
@ 2004-01-26 22:27 ` pinskia at gcc dot gnu dot org
2004-01-26 22:28 ` pinskia at gcc dot gnu dot org
` (3 subsequent siblings)
7 siblings, 0 replies; 9+ messages in thread
From: pinskia at gcc dot gnu dot org @ 2004-01-26 22:27 UTC (permalink / raw)
To: gcc-bugs
--
What |Removed |Added
----------------------------------------------------------------------------
Summary|[tree-ssa] g++ creates extra|c++ front-end creates extra
|blocks |blocks
Target Milestone|tree-ssa |---
Version|tree-ssa |3.4.0
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=13764
^ permalink raw reply [flat|nested] 9+ messages in thread
* [Bug c++/13764] c++ front-end creates extra blocks
2004-01-20 7:25 [Bug c++/13764] New: [tree-ssa] g++ creates extra blocks dann at godzilla dot ics dot uci dot edu
` (3 preceding siblings ...)
2004-01-26 22:27 ` [Bug c++/13764] c++ front-end " pinskia at gcc dot gnu dot org
@ 2004-01-26 22:28 ` pinskia at gcc dot gnu dot org
2005-07-26 18:32 ` pinskia at gcc dot gnu dot org
` (2 subsequent siblings)
7 siblings, 0 replies; 9+ messages in thread
From: pinskia at gcc dot gnu dot org @ 2004-01-26 22:28 UTC (permalink / raw)
To: gcc-bugs
------- Additional Comments From pinskia at gcc dot gnu dot org 2004-01-26 22:28 -------
*** Bug 13871 has been marked as a duplicate of this bug. ***
--
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=13764
^ permalink raw reply [flat|nested] 9+ messages in thread
* [Bug c++/13764] c++ front-end creates extra blocks
2004-01-20 7:25 [Bug c++/13764] New: [tree-ssa] g++ creates extra blocks dann at godzilla dot ics dot uci dot edu
` (4 preceding siblings ...)
2004-01-26 22:28 ` pinskia at gcc dot gnu dot org
@ 2005-07-26 18:32 ` pinskia at gcc dot gnu dot org
2005-09-27 17:54 ` cvs-commit at gcc dot gnu dot org
2005-09-27 20:55 ` pinskia at gcc dot gnu dot org
7 siblings, 0 replies; 9+ messages in thread
From: pinskia at gcc dot gnu dot org @ 2005-07-26 18:32 UTC (permalink / raw)
To: gcc-bugs
------- Additional Comments From pinskia at gcc dot gnu dot org 2005-07-26 18:31 -------
This is also a compile time hog as we have to go through the extra blocks both in GC and when
converting to gimple and to lower gimple.
--
What |Removed |Added
----------------------------------------------------------------------------
Keywords| |compile-time-hog
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=13764
^ permalink raw reply [flat|nested] 9+ messages in thread
* [Bug c++/13764] c++ front-end creates extra blocks
2004-01-20 7:25 [Bug c++/13764] New: [tree-ssa] g++ creates extra blocks dann at godzilla dot ics dot uci dot edu
` (5 preceding siblings ...)
2005-07-26 18:32 ` pinskia at gcc dot gnu dot org
@ 2005-09-27 17:54 ` cvs-commit at gcc dot gnu dot org
2005-09-27 20:55 ` pinskia at gcc dot gnu dot org
7 siblings, 0 replies; 9+ messages in thread
From: cvs-commit at gcc dot gnu dot org @ 2005-09-27 17:54 UTC (permalink / raw)
To: gcc-bugs
------- Additional Comments From cvs-commit at gcc dot gnu dot org 2005-09-27 16:26 -------
Subject: Bug 13764
CVSROOT: /cvs/gcc
Module name: gcc
Changes by: jason@gcc.gnu.org 2005-09-27 16:04:25
Modified files:
gcc : ChangeLog c-common.c
gcc/cp : ChangeLog cp-tree.h name-lookup.c decl.c
Added files:
gcc/testsuite/g++.dg/tree-ssa: block1.C
Log message:
PR c++/13764
* c-common.c (finish_fname_decls): Use append_to_statement_list_force.
* cp/cp-tree.h (FUNCTION_NEEDS_BODY_BLOCK): New macro.
* cp/name-lookup.c (pushdecl_maybe_friend): Check it.
* cp/decl.c (begin_function_body): Do nothing if it's false.
(finish_function_body): Ditto.
(outer_curly_brace_block): New fn.
(finish_function): Use it.
Patches:
http://gcc.gnu.org/cgi-bin/cvsweb.cgi/gcc/gcc/ChangeLog.diff?cvsroot=gcc&r1=2.10030&r2=2.10031
http://gcc.gnu.org/cgi-bin/cvsweb.cgi/gcc/gcc/c-common.c.diff?cvsroot=gcc&r1=1.652&r2=1.653
http://gcc.gnu.org/cgi-bin/cvsweb.cgi/gcc/gcc/cp/ChangeLog.diff?cvsroot=gcc&r1=1.4902&r2=1.4903
http://gcc.gnu.org/cgi-bin/cvsweb.cgi/gcc/gcc/cp/cp-tree.h.diff?cvsroot=gcc&r1=1.1164&r2=1.1165
http://gcc.gnu.org/cgi-bin/cvsweb.cgi/gcc/gcc/cp/name-lookup.c.diff?cvsroot=gcc&r1=1.141&r2=1.142
http://gcc.gnu.org/cgi-bin/cvsweb.cgi/gcc/gcc/cp/decl.c.diff?cvsroot=gcc&r1=1.1427&r2=1.1428
http://gcc.gnu.org/cgi-bin/cvsweb.cgi/gcc/gcc/testsuite/g++.dg/tree-ssa/block1.C.diff?cvsroot=gcc&r1=NONE&r2=1.1
--
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=13764
^ permalink raw reply [flat|nested] 9+ messages in thread
* [Bug c++/13764] c++ front-end creates extra blocks
2004-01-20 7:25 [Bug c++/13764] New: [tree-ssa] g++ creates extra blocks dann at godzilla dot ics dot uci dot edu
` (6 preceding siblings ...)
2005-09-27 17:54 ` cvs-commit at gcc dot gnu dot org
@ 2005-09-27 20:55 ` pinskia at gcc dot gnu dot org
7 siblings, 0 replies; 9+ messages in thread
From: pinskia at gcc dot gnu dot org @ 2005-09-27 20:55 UTC (permalink / raw)
To: gcc-bugs
------- Additional Comments From pinskia at gcc dot gnu dot org 2005-09-27 20:55 -------
Fixed.
--
What |Removed |Added
----------------------------------------------------------------------------
Status|ASSIGNED |RESOLVED
Resolution| |FIXED
Target Milestone|--- |4.1.0
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=13764
^ permalink raw reply [flat|nested] 9+ messages in thread
end of thread, other threads:[~2005-09-27 20:55 UTC | newest]
Thread overview: 9+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2004-01-20 7:25 [Bug c++/13764] New: [tree-ssa] g++ creates extra blocks dann at godzilla dot ics dot uci dot edu
2004-01-20 15:18 ` [Bug c++/13764] " pinskia at gcc dot gnu dot org
2004-01-21 20:18 ` pinskia at gcc dot gnu dot org
2004-01-23 3:15 ` rth at gcc dot gnu dot org
2004-01-26 22:27 ` [Bug c++/13764] c++ front-end " pinskia at gcc dot gnu dot org
2004-01-26 22:28 ` pinskia at gcc dot gnu dot org
2005-07-26 18:32 ` pinskia at gcc dot gnu dot org
2005-09-27 17:54 ` cvs-commit at gcc dot gnu dot org
2005-09-27 20:55 ` pinskia at gcc dot gnu dot org
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for read-only IMAP folder(s) and NNTP newsgroup(s).