public inbox for gcc-bugs@sourceware.org
help / color / mirror / Atom feed
* [Bug c++/11131] New: Unrelated declaration removes inline flag from function
@ 2003-06-09 12:51 bangerth@dealii.org
  2003-06-09 13:06 ` [Bug c++/11131] " pinskia@physics.uc.edu
                   ` (19 more replies)
  0 siblings, 20 replies; 21+ messages in thread
From: bangerth@dealii.org @ 2003-06-09 12:51 UTC (permalink / raw)
  To: gcc-bugs

PLEASE REPLY TO gcc-bugzilla@gcc.gnu.org ONLY, *NOT* gcc-bugs@gcc.gnu.org.

http://gcc.gnu.org/bugzilla/show_bug.cgi?id=11131

           Summary: Unrelated declaration removes inline flag from function
           Product: gcc
           Version: 3.4
            Status: UNCONFIRMED
          Keywords: pessimizes-code
          Severity: normal
          Priority: P2
         Component: c++
        AssignedTo: unassigned@gcc.gnu.org
        ReportedBy: bangerth@dealii.org
                CC: gcc-bugs@gcc.gnu.org

This is a weird failure: for this code, calling FOO=foo1
yields worse results than FOO=foo2 (despite the throw() specification)
if and only the forward declaration of the specialization of UNRELATED
is present:
-----------------------------------
template <int>
struct A {
    void foo1 () throw ();
    void foo2 ();

    void UNRELATED ();
};

template <> void A<0>::UNRELATED ();

template <int dim> inline void A<dim>::foo1 () throw () {}
template <int dim> inline void A<dim>::foo2 ()          {}

void bar (A<0> &a) {
  a.FOO ();
}
-----------------------------------

Compiling on an x86 box with present mainline like this
    c++ -O2 -fPIC -S x.cc -o 1.s -DFOO=foo1
    c++ -O2 -fPIC -S x.cc -o 2.s -DFOO=foo2
yields two assembler files for the cases where bar either
calls A<2>::foo1 or A<2>::foo2. One would expect the
output to be the same, since neither foo1 not foo2 can
throw exceptions, so the exception specification seems
redundant to what the compiler can infer anyway.

Alas, this is not the case. The output for calling foo2 is optimal
(labels etc deleted): 
   _Z3barR1AILi0EE:
	pushl	%ebp
	movl	%esp, %ebp
	popl	%ebp
	ret
The output for calling foo1, on the other hand, is outrageously bad:
   _Z3barR1AILi0EE:
	pushl	%ebp
	movl	%esp, %ebp
	pushl	%ebx
	subl	$4, %esp
	movl	8(%ebp), %eax
	call	.LPR3
	addl	$_GLOBAL_OFFSET_TABLE_, %ebx
	movl	%eax, (%esp)
	call	_ZN1AILi0EE4foo1Ev@PLT
	popl	%eax
	popl	%ebx
	popl	%ebp
	ret

   _ZN1AILi0EE4foo1Ev:
	pushl	%ebp
	movl	%esp, %ebp
	popl	%ebp
	ret

   .LPR3:
	movl	(%esp), %ebx
	ret

First, A<2>::foo not inlined, and the call to LPR3 is really atrocious!
The really mysterious thing is that calling foo1 produces exactly the
same (optimal) code as for foo2 when the specialization declaration of
UNRELATED is not present, or if it is for some other template value
than the one that is also used in bar(). In other words, the right
questions seems not why foo2 is better than foo1, but: what has
UNRELATED to do with it?

Now, admittedly the problem also goes away if one uses -O3 instead of
-O2, or more precisely -finline-functions, but that flag is somewhat
unpopular due to its compile time implications. The code is so
obviously wrong that I think it would be worthwhile to figure out what
the specialization has to do with it. Something's really not right
with that and it might be that this might lead to problems with -O3 in
other contexts.

I tried to poke a little at what goes on in the compiler, but the
output for the two cases generated by -da differs right from the first
phase, x.cc.00.rtl. Note that UNRELATED does not appear even once in
the output files of -da, so the problem is really due to something
that seems to be in the front-end.

The obvious thing that UNRELATED strips the "inline" attribute from
the _next_ function is also not true, since exchanging the definitions
of foo[12] does not change the result. On the other hand, placing the
declaration of the specialization _after_ foo[12] _does_ make the
problem go away. I fear this is about as far as I can help...

W.


^ permalink raw reply	[flat|nested] 21+ messages in thread

* [Bug c++/11131] Unrelated declaration removes inline flag from function
  2003-06-09 12:51 [Bug c++/11131] New: Unrelated declaration removes inline flag from function bangerth@dealii.org
@ 2003-06-09 13:06 ` pinskia@physics.uc.edu
  2003-06-09 13:13 ` bangerth@ices.utexas.edu
                   ` (18 subsequent siblings)
  19 siblings, 0 replies; 21+ messages in thread
From: pinskia@physics.uc.edu @ 2003-06-09 13:06 UTC (permalink / raw)
  To: gcc-bugs

PLEASE REPLY TO gcc-bugzilla@gcc.gnu.org ONLY, *NOT* gcc-bugs@gcc.gnu.org.

http://gcc.gnu.org/bugzilla/show_bug.cgi?id=11131


pinskia@physics.uc.edu changed:

           What    |Removed                     |Added
----------------------------------------------------------------------------
             Status|UNCONFIRMED                 |NEW
     Ever Confirmed|                            |1
   Last reconfirmed|0000-00-00 00:00:00         |2003-06-09 13:06:28
               date|                            |


------- Additional Comments From pinskia@physics.uc.edu  2003-06-09 13:06 -------
I see the same behivour on powerpc-apple-darwin6.6 on the mainline (20030609) :
[zhivago2:~/src/gccPRs] pinskia% gcc -O2 -S -o - pr11131.cc -DFOO=foo1;echo -----
;echo ----- ;gcc -O2 -S -o - pr11131.cc -DFOO=foo2
.text
        .align 2
        .globl __Z3barR1AILi0EE
__Z3barR1AILi0EE:
LFB5:
        stw r31,-4(r1)   <--- save the pic register
LCFI0:
        lwz r31,-4(r1) <-- restore the pic register
        b L__ZN1AILi0EE4foo1Ev$stub
LFE5:
        .align 2
__ZN1AILi0EE4foo1Ev:
L__ZN1AILi0EE4foo1Ev$stub:
LFB7:
L3:
        blr
LFE7:
.data
.constructor
.data
.destructor
        .align 1
-----
-----
.text
        .align 2
        .globl __Z3barR1AILi0EE
__Z3barR1AILi0EE:
LFB6:
        blr
LFE6:
.data
.constructor
.data
.destructor
        .align 1

This looks like it is exception handlering related in *.00.rtl extra for -DFOO=foo1:

;; Function void A<<anonymous> >::foo1() [with int <anonymous> = 0]

(note 2 0 3 NOTE_INSN_DELETED)

(insn 3 2 4 (set (reg/v/u/f:SI 118 [ this ])
        (reg:SI 3 r3 [ this ])) -1 (nil)
    (expr_list:REG_EQUIV (mem/u/f:SI (reg/f:SI 113 virtual-incoming-args) [4 this+0 S4 
A32])
        (nil)))

(note 4 3 5 NOTE_INSN_FUNCTION_BEG)

(note 5 4 6 NOTE_INSN_DELETED)

(note 6 5 7 1 NOTE_INSN_EH_REGION_BEG)

(note 7 6 8 0x1080180 NOTE_INSN_BLOCK_BEG)

(note 8 7 9 NOTE_INSN_DELETED)

(note 9 8 10 NOTE_INSN_DELETED)

(note 10 9 11 NOTE_INSN_DELETED)

(note 11 10 12 0x1080180 NOTE_INSN_BLOCK_END)

(note 12 11 13 1 NOTE_INSN_EH_REGION_END)

(jump_insn 13 12 14 (set (pc)
        (label_ref 19)) -1 (nil)
    (nil))

(barrier 14 13 15)

(code_label 15 14 16 3 "" [0 uses])

(insn 16 15 17 (set (reg:SI 3 r3)
        (reg:SI 119)) -1 (nil)
    (nil))

(call_insn 17 16 18 (parallel [
            (call (mem:SI (symbol_ref:SI ("&L___cxa_call_
unexpected$stub")) [0 S4 A8])

 
           
 
   (const_int 32 [0x20]))
      
      (use (const_int 0 [0x0]))
            (clobber (scratch:SI))
        ]) -1 (nil)
    (expr_list:REG_NORETURN (const_int 
0 [0x0])
        (nil))
    (expr_list
 (use (reg:SI 3 r3))
        (nil))
)

(barrier 18 17 19
)

(code_label 19 18 20 4 "" [0 uses])

(note 20
 19 22 NOTE_INS
N_FUNCTION_END)

(code_label 22 20 
0 2 "" [0 uses])


^ permalink raw reply	[flat|nested] 21+ messages in thread

* [Bug c++/11131] Unrelated declaration removes inline flag from function
  2003-06-09 12:51 [Bug c++/11131] New: Unrelated declaration removes inline flag from function bangerth@dealii.org
  2003-06-09 13:06 ` [Bug c++/11131] " pinskia@physics.uc.edu
@ 2003-06-09 13:13 ` bangerth@ices.utexas.edu
  2003-06-09 13:21 ` pinskia@physics.uc.edu
                   ` (17 subsequent siblings)
  19 siblings, 0 replies; 21+ messages in thread
From: bangerth@ices.utexas.edu @ 2003-06-09 13:13 UTC (permalink / raw)
  To: gcc-bugs

PLEASE REPLY TO gcc-bugzilla@gcc.gnu.org ONLY, *NOT* gcc-bugs@gcc.gnu.org.

http://gcc.gnu.org/bugzilla/show_bug.cgi?id=11131



------- Additional Comments From bangerth@ices.utexas.edu  2003-06-09 13:13 -------
Subject: Re:  Unrelated declaration removes inline flag from
 function


> I see the same behivour on powerpc-apple-darwin6.6 on the mainline (20030609) :

Can you verify as well that removing the specialization "fixes" the 
pessimization? I really think that that is the underlying cause of the 
problem,

W.

PS: Thanks for the quick confirmation at such early times -- is Ohio still 
EST or already CST? :-)

-------------------------------------------------------------------------
Wolfgang Bangerth              email:            bangerth@ices.utexas.edu
                               www: http://www.ices.utexas.edu/~bangerth/


^ permalink raw reply	[flat|nested] 21+ messages in thread

* [Bug c++/11131] Unrelated declaration removes inline flag from function
  2003-06-09 12:51 [Bug c++/11131] New: Unrelated declaration removes inline flag from function bangerth@dealii.org
  2003-06-09 13:06 ` [Bug c++/11131] " pinskia@physics.uc.edu
  2003-06-09 13:13 ` bangerth@ices.utexas.edu
@ 2003-06-09 13:21 ` pinskia@physics.uc.edu
  2003-06-09 13:26 ` bangerth@ices.utexas.edu
                   ` (16 subsequent siblings)
  19 siblings, 0 replies; 21+ messages in thread
From: pinskia@physics.uc.edu @ 2003-06-09 13:21 UTC (permalink / raw)
  To: gcc-bugs

PLEASE REPLY TO gcc-bugzilla@gcc.gnu.org ONLY, *NOT* gcc-bugs@gcc.gnu.org.

http://gcc.gnu.org/bugzilla/show_bug.cgi?id=11131



------- Additional Comments From pinskia@physics.uc.edu  2003-06-09 13:21 -------
Subject: Re:  Unrelated declaration removes inline flag from function


On Monday, Jun 9, 2003, at 09:13 US/Eastern, Wolfgang Bangerth wrote:

>
>> I see the same behivour on powerpc-apple-darwin6.6 on the mainline  
>> (20030609) :
>
> Can you verify as well that removing the specialization "fixes" the
> pessimization? I really think that that is the underlying cause of the
> problem,

Yep that fixes it.
This seems like a weird bug which might be hard to debug if it is a  
memory corruption bug.
It could just be setting something in the wrong spot.

>
> W.
>
> PS: Thanks for the quick confirmation at such early times -- is Ohio  
> still
> EST or already CST? :-)

It is Eastern Daylight Time (but I had an exam at 7:30 this morning so I
am in between exams).

>
> ----------------------------------------------------------------------- 
> --
> Wolfgang Bangerth              email:             
> bangerth@ices.utexas.edu
>                                www:  
> http://www.ices.utexas.edu/~bangerth/
>
>
>
>


^ permalink raw reply	[flat|nested] 21+ messages in thread

* [Bug c++/11131] Unrelated declaration removes inline flag from function
  2003-06-09 12:51 [Bug c++/11131] New: Unrelated declaration removes inline flag from function bangerth@dealii.org
                   ` (2 preceding siblings ...)
  2003-06-09 13:21 ` pinskia@physics.uc.edu
@ 2003-06-09 13:26 ` bangerth@ices.utexas.edu
  2003-06-09 14:25 ` nathan@gcc.gnu.org
                   ` (15 subsequent siblings)
  19 siblings, 0 replies; 21+ messages in thread
From: bangerth@ices.utexas.edu @ 2003-06-09 13:26 UTC (permalink / raw)
  To: gcc-bugs

PLEASE REPLY TO gcc-bugzilla@gcc.gnu.org ONLY, *NOT* gcc-bugs@gcc.gnu.org.

http://gcc.gnu.org/bugzilla/show_bug.cgi?id=11131



------- Additional Comments From bangerth@ices.utexas.edu  2003-06-09 13:26 -------
Subject: Re:  Unrelated declaration removes inline flag from
 function


> This seems like a weird bug which might be hard to debug if it is a  
> memory corruption bug.
> It could just be setting something in the wrong spot.

I have no clue about how g++ works. I thought maybe the specialization 
leads to forking the data structure for the class and not all data is 
copied properly. But that's just speculation, I'll leave this to those 
with clues ;-)

> It is Eastern Daylight Time (but I had an exam at 7:30 this morning

Insane!

W,

-------------------------------------------------------------------------
Wolfgang Bangerth              email:            bangerth@ices.utexas.edu
                               www: http://www.ices.utexas.edu/~bangerth/


^ permalink raw reply	[flat|nested] 21+ messages in thread

* [Bug c++/11131] Unrelated declaration removes inline flag from function
  2003-06-09 12:51 [Bug c++/11131] New: Unrelated declaration removes inline flag from function bangerth@dealii.org
                   ` (3 preceding siblings ...)
  2003-06-09 13:26 ` bangerth@ices.utexas.edu
@ 2003-06-09 14:25 ` nathan@gcc.gnu.org
  2003-06-09 14:26 ` nathan@gcc.gnu.org
                   ` (14 subsequent siblings)
  19 siblings, 0 replies; 21+ messages in thread
From: nathan@gcc.gnu.org @ 2003-06-09 14:25 UTC (permalink / raw)
  To: gcc-bugs

PLEASE REPLY TO gcc-bugzilla@gcc.gnu.org ONLY, *NOT* gcc-bugs@gcc.gnu.org.

http://gcc.gnu.org/bugzilla/show_bug.cgi?id=11131


nathan@gcc.gnu.org changed:

           What    |Removed                     |Added
----------------------------------------------------------------------------
             Status|NEW                         |ASSIGNED
   Last reconfirmed|2003-06-09 13:06:28         |2003-06-09 14:25:39
               date|                            |


^ permalink raw reply	[flat|nested] 21+ messages in thread

* [Bug c++/11131] Unrelated declaration removes inline flag from function
  2003-06-09 12:51 [Bug c++/11131] New: Unrelated declaration removes inline flag from function bangerth@dealii.org
                   ` (4 preceding siblings ...)
  2003-06-09 14:25 ` nathan@gcc.gnu.org
@ 2003-06-09 14:26 ` nathan@gcc.gnu.org
  2003-06-09 17:42 ` nathan@codesourcery.com
                   ` (13 subsequent siblings)
  19 siblings, 0 replies; 21+ messages in thread
From: nathan@gcc.gnu.org @ 2003-06-09 14:26 UTC (permalink / raw)
  To: gcc-bugs

PLEASE REPLY TO gcc-bugzilla@gcc.gnu.org ONLY, *NOT* gcc-bugs@gcc.gnu.org.

http://gcc.gnu.org/bugzilla/show_bug.cgi?id=11131


nathan@gcc.gnu.org changed:

           What    |Removed                     |Added
----------------------------------------------------------------------------
         AssignedTo|unassigned@gcc.gnu.org      |nathan@gcc.gnu.org
             Status|ASSIGNED                    |NEW


^ permalink raw reply	[flat|nested] 21+ messages in thread

* [Bug c++/11131] Unrelated declaration removes inline flag from function
  2003-06-09 12:51 [Bug c++/11131] New: Unrelated declaration removes inline flag from function bangerth@dealii.org
                   ` (5 preceding siblings ...)
  2003-06-09 14:26 ` nathan@gcc.gnu.org
@ 2003-06-09 17:42 ` nathan@codesourcery.com
  2003-06-09 20:20 ` bangerth@ices.utexas.edu
                   ` (12 subsequent siblings)
  19 siblings, 0 replies; 21+ messages in thread
From: nathan@codesourcery.com @ 2003-06-09 17:42 UTC (permalink / raw)
  To: gcc-bugs

PLEASE REPLY TO gcc-bugzilla@gcc.gnu.org ONLY, *NOT* gcc-bugs@gcc.gnu.org.

http://gcc.gnu.org/bugzilla/show_bug.cgi?id=11131



------- Additional Comments From nathan@codesourcery.com  2003-06-09 17:42 -------
Subject: Re:  Unrelated declaration removes inline flag from
 function

Ok, what is going on here will be difficult to 'fix' without
pessimizing something.

the specialization
	template <> void A<0>::Unrelated () {}
causes an instantiation of A<0>. At that point A<O>::Foo1 is not declared
inline, but is declared NO_THROW. A<0>::Foo2 is also not declared
inline, but is not declared NO_THROW.

at the call
	a.Foo1 ();
we see the declaration of A<O>::Foo1 already exists. We note that it cannot
throw, so we continue and mark it for later instantiation. We then process the
body of bar for tree inlining and do not inline A<0>::Foo1, as it is not
marked as inline. At the end of compilation we instantiate A<0>::Foo1 using
the definition, and discover that it could be inlined.

At the call
	a.Foo2 ()
we see the declaration of A<0>::Foo1 already exists. We notice that we have
not determined whether it can or cannot throw, we also notice that bar currently
cannot throw. So we instantiate A<0>::Foo1 to see if it does infact turn out
to be a NO_THROW function. That instantiation picks up its inlineable flag.
Notice we would not have done the instantiation if we'd already determined
that Bar could throw.

To fix this bug requires instantiating at all call sites. We tried not
to do that as 'maintaining a stack of active functions is expensive'
(decl2.c:mark_used).

If/when we do whole translation unit optimization, this problem goes away.

nathan


^ permalink raw reply	[flat|nested] 21+ messages in thread

* [Bug c++/11131] Unrelated declaration removes inline flag from function
  2003-06-09 12:51 [Bug c++/11131] New: Unrelated declaration removes inline flag from function bangerth@dealii.org
                   ` (6 preceding siblings ...)
  2003-06-09 17:42 ` nathan@codesourcery.com
@ 2003-06-09 20:20 ` bangerth@ices.utexas.edu
  2003-06-10  0:00 ` bangerth@ices.utexas.edu
                   ` (11 subsequent siblings)
  19 siblings, 0 replies; 21+ messages in thread
From: bangerth@ices.utexas.edu @ 2003-06-09 20:20 UTC (permalink / raw)
  To: gcc-bugs

PLEASE REPLY TO gcc-bugzilla@gcc.gnu.org ONLY, *NOT* gcc-bugs@gcc.gnu.org.

http://gcc.gnu.org/bugzilla/show_bug.cgi?id=11131



------- Additional Comments From bangerth@ices.utexas.edu  2003-06-09 20:20 -------
Subject: Re:  Unrelated declaration removes inline flag from
 function


Nathan, I'm deeply indebted to you for the quick analysis -- if I can make 
it to the next gcc summit and you should be there too, you're sure to have 
a free beer one night!


> To fix this bug requires instantiating at all call sites. We tried not
> to do that as 'maintaining a stack of active functions is expensive'
> (decl2.c:mark_used).

Let me try to see whether I understand you correctly: if the function has 
no throw specification, we have to look it up by instantiating the 
function. OTOH, if it has, the logic is that we can save this work because 
the programmer has already told the compiler.

What I don't understand is the thing about "expensive" -- if I understand 
things right, then we're only taking a short-cut, but if we would 
instantiate the function we would only use as much memory as if the 
programmer had not given a throw specification, right? I don't think that 
would qualify as "expensive", it is at most "just as expensive".

Or am I missing something?

Thanks
  W.

-------------------------------------------------------------------------
Wolfgang Bangerth              email:            bangerth@ices.utexas.edu
                               www: http://www.ices.utexas.edu/~bangerth/


^ permalink raw reply	[flat|nested] 21+ messages in thread

* [Bug c++/11131] Unrelated declaration removes inline flag from function
  2003-06-09 12:51 [Bug c++/11131] New: Unrelated declaration removes inline flag from function bangerth@dealii.org
                   ` (7 preceding siblings ...)
  2003-06-09 20:20 ` bangerth@ices.utexas.edu
@ 2003-06-10  0:00 ` bangerth@ices.utexas.edu
  2003-06-10  7:24 ` cvs-commit@gcc.gnu.org
                   ` (10 subsequent siblings)
  19 siblings, 0 replies; 21+ messages in thread
From: bangerth@ices.utexas.edu @ 2003-06-10  0:00 UTC (permalink / raw)
  To: gcc-bugs

PLEASE REPLY TO gcc-bugzilla@gcc.gnu.org ONLY, *NOT* gcc-bugs@gcc.gnu.org.

http://gcc.gnu.org/bugzilla/show_bug.cgi?id=11131



------- Additional Comments From bangerth@ices.utexas.edu  2003-06-10 00:00 -------
Subject: Re:  Unrelated declaration removes inline flag from
 function


Hi Nathan,
with your analysis of this morning, I did the minimal patch attached below 
-- by simply removing the short-cut. The patch fixes my testcase. In order 
to address your concerns about a run-time penalty: I did some tests, with 
unpatched and patched gcc, concerning compile- and run-time of my 
application with and without exception specifications.

The result:
- with the patch, gcc is slower (actually, I don't believe this, 
  it might be due to network/NFS interactions, I would have to repeat the 
  measurements)
- the patch fixes the testcase
- the test does not fix my real-world problem :-(

I have no opinion. What do you think?

W.


                          unpatched gcc      patched gcc

compile time
  without exc. spec.          15:01              15:27
  with exc. spec.             15:16              15:06

test code run time
  without exc. spec.         1:41.3             1:41.5
  with exc. spec.            1:43.8             1:43.6

static stripped code size
  without exc. spec.        2419480            2419480
  with exc. spec.           2393208            2455416



*** decl2.c.~1.627.~	2003-06-09 16:29:20.000000000 -0500
--- decl2.c	2003-06-09 18:06:33.000000000 -0500
***************
*** 4601,4612 ****
  
  	 However, if instantiating this function might help us mark
  	 the current function TREE_NOTHROW, we go ahead and
! 	 instantiate it now.  */
        defer = (!flag_exceptions
  	       || TREE_CODE (decl) != FUNCTION_DECL
- 	       /* If the called function can't throw, we don't need to
- 		  generate its body to find that out.  */
- 	       || TREE_NOTHROW (decl)
  	       || !cfun
  	       /* If we already know the current function can't throw,
  		  then we don't need to work hard to prove it.  */
--- 4601,4620 ----
  
  	 However, if instantiating this function might help us mark
  	 the current function TREE_NOTHROW, we go ahead and
! 	 instantiate it now.
! 
! 	 Previously, we would defer instantiation of functions for
! 	 which we know that they can't throw due to their declaration,
! 	 i.e. the condition had another case "|| TREE_NOTHROW
! 	 (decl)". However, this has the adverse effect that we missed
! 	 some inlining opportunities for functions with throw()
! 	 specifications that we wouldn't have missed if that
! 	 specification were not there, see PR 11131. Thus, do not
! 	 punish users that write throw specifications by deferring
! 	 such functions, even though we know that these functions
! 	 can't throw.  */
        defer = (!flag_exceptions
  	       || TREE_CODE (decl) != FUNCTION_DECL
  	       || !cfun
  	       /* If we already know the current function can't throw,
  		  then we don't need to work hard to prove it.  */


^ permalink raw reply	[flat|nested] 21+ messages in thread

* [Bug c++/11131] Unrelated declaration removes inline flag from function
  2003-06-09 12:51 [Bug c++/11131] New: Unrelated declaration removes inline flag from function bangerth@dealii.org
                   ` (9 preceding siblings ...)
  2003-06-10  7:24 ` cvs-commit@gcc.gnu.org
@ 2003-06-10  7:24 ` cvs-commit@gcc.gnu.org
  2003-06-10  7:24 ` cvs-commit@gcc.gnu.org
                   ` (8 subsequent siblings)
  19 siblings, 0 replies; 21+ messages in thread
From: cvs-commit@gcc.gnu.org @ 2003-06-10  7:24 UTC (permalink / raw)
  To: gcc-bugs

PLEASE REPLY TO gcc-bugzilla@gcc.gnu.org ONLY, *NOT* gcc-bugs@gcc.gnu.org.

http://gcc.gnu.org/bugzilla/show_bug.cgi?id=11131



------- Additional Comments From cvs-commit@gcc.gnu.org  2003-06-10 07:22 -------
Subject: Bug 11131

CVSROOT:	/cvs/gcc
Module name:	gcc
Changes by:	mmitchel@gcc.gnu.org	2003-06-10 07:19:57

Modified files:
	gcc            : ChangeLog tree-inline.c 
	gcc/cp         : ChangeLog cp-tree.h decl2.c pt.c tree.c 
	gcc/testsuite  : ChangeLog 
Added files:
	gcc/testsuite/g++.dg/opt: template1.C 

Log message:
	PR c++/11131
	* tree-inline.c (inlinable_function_p): Call the language-specific
	hook early.
	
	PR c++/11131
	* cp-tree.h (template_for_substitution): Declare.
	* decl2.c (mark_used): Use it when figuring out whether or not a
	function is inline.
	* pt.c (template_for_substitution): Give it external linkage.
	* tree.c (cp_cannot_inline_tree_fn): Instantiate as early as
	possible.
	
	PR c++/11131
	* g++.dg/opt/template1.C: New test.

Patches:
http://gcc.gnu.org/cgi-bin/cvsweb.cgi/gcc/gcc/ChangeLog.diff?cvsroot=gcc&r1=1.18129&r2=1.18130
http://gcc.gnu.org/cgi-bin/cvsweb.cgi/gcc/gcc/tree-inline.c.diff?cvsroot=gcc&r1=1.60&r2=1.61
http://gcc.gnu.org/cgi-bin/cvsweb.cgi/gcc/gcc/cp/ChangeLog.diff?cvsroot=gcc&r1=1.3407&r2=1.3408
http://gcc.gnu.org/cgi-bin/cvsweb.cgi/gcc/gcc/cp/cp-tree.h.diff?cvsroot=gcc&r1=1.849&r2=1.850
http://gcc.gnu.org/cgi-bin/cvsweb.cgi/gcc/gcc/cp/decl2.c.diff?cvsroot=gcc&r1=1.627&r2=1.628
http://gcc.gnu.org/cgi-bin/cvsweb.cgi/gcc/gcc/cp/pt.c.diff?cvsroot=gcc&r1=1.697&r2=1.698
http://gcc.gnu.org/cgi-bin/cvsweb.cgi/gcc/gcc/cp/tree.c.diff?cvsroot=gcc&r1=1.326&r2=1.327
http://gcc.gnu.org/cgi-bin/cvsweb.cgi/gcc/gcc/testsuite/ChangeLog.diff?cvsroot=gcc&r1=1.2752&r2=1.2753
http://gcc.gnu.org/cgi-bin/cvsweb.cgi/gcc/gcc/testsuite/g++.dg/opt/template1.C.diff?cvsroot=gcc&r1=NONE&r2=1.1


^ permalink raw reply	[flat|nested] 21+ messages in thread

* [Bug c++/11131] Unrelated declaration removes inline flag from function
  2003-06-09 12:51 [Bug c++/11131] New: Unrelated declaration removes inline flag from function bangerth@dealii.org
                   ` (10 preceding siblings ...)
  2003-06-10  7:24 ` cvs-commit@gcc.gnu.org
@ 2003-06-10  7:24 ` cvs-commit@gcc.gnu.org
  2003-06-11 17:02 ` cvs-commit@gcc.gnu.org
                   ` (7 subsequent siblings)
  19 siblings, 0 replies; 21+ messages in thread
From: cvs-commit@gcc.gnu.org @ 2003-06-10  7:24 UTC (permalink / raw)
  To: gcc-bugs

PLEASE REPLY TO gcc-bugzilla@gcc.gnu.org ONLY, *NOT* gcc-bugs@gcc.gnu.org.

http://gcc.gnu.org/bugzilla/show_bug.cgi?id=11131



------- Additional Comments From cvs-commit@gcc.gnu.org  2003-06-10 07:22 -------
Subject: Bug 11131

CVSROOT:	/cvs/gcc
Module name:	gcc
Changes by:	mmitchel@gcc.gnu.org	2003-06-10 07:19:57

Modified files:
	gcc            : ChangeLog tree-inline.c 
	gcc/cp         : ChangeLog cp-tree.h decl2.c pt.c tree.c 
	gcc/testsuite  : ChangeLog 
Added files:
	gcc/testsuite/g++.dg/opt: template1.C 

Log message:
	PR c++/11131
	* tree-inline.c (inlinable_function_p): Call the language-specific
	hook early.
	
	PR c++/11131
	* cp-tree.h (template_for_substitution): Declare.
	* decl2.c (mark_used): Use it when figuring out whether or not a
	function is inline.
	* pt.c (template_for_substitution): Give it external linkage.
	* tree.c (cp_cannot_inline_tree_fn): Instantiate as early as
	possible.
	
	PR c++/11131
	* g++.dg/opt/template1.C: New test.

Patches:
http://gcc.gnu.org/cgi-bin/cvsweb.cgi/gcc/gcc/ChangeLog.diff?cvsroot=gcc&r1=1.18129&r2=1.18130
http://gcc.gnu.org/cgi-bin/cvsweb.cgi/gcc/gcc/tree-inline.c.diff?cvsroot=gcc&r1=1.60&r2=1.61
http://gcc.gnu.org/cgi-bin/cvsweb.cgi/gcc/gcc/cp/ChangeLog.diff?cvsroot=gcc&r1=1.3407&r2=1.3408
http://gcc.gnu.org/cgi-bin/cvsweb.cgi/gcc/gcc/cp/cp-tree.h.diff?cvsroot=gcc&r1=1.849&r2=1.850
http://gcc.gnu.org/cgi-bin/cvsweb.cgi/gcc/gcc/cp/decl2.c.diff?cvsroot=gcc&r1=1.627&r2=1.628
http://gcc.gnu.org/cgi-bin/cvsweb.cgi/gcc/gcc/cp/pt.c.diff?cvsroot=gcc&r1=1.697&r2=1.698
http://gcc.gnu.org/cgi-bin/cvsweb.cgi/gcc/gcc/cp/tree.c.diff?cvsroot=gcc&r1=1.326&r2=1.327
http://gcc.gnu.org/cgi-bin/cvsweb.cgi/gcc/gcc/testsuite/ChangeLog.diff?cvsroot=gcc&r1=1.2752&r2=1.2753
http://gcc.gnu.org/cgi-bin/cvsweb.cgi/gcc/gcc/testsuite/g++.dg/opt/template1.C.diff?cvsroot=gcc&r1=NONE&r2=1.1


^ permalink raw reply	[flat|nested] 21+ messages in thread

* [Bug c++/11131] Unrelated declaration removes inline flag from function
  2003-06-09 12:51 [Bug c++/11131] New: Unrelated declaration removes inline flag from function bangerth@dealii.org
                   ` (8 preceding siblings ...)
  2003-06-10  0:00 ` bangerth@ices.utexas.edu
@ 2003-06-10  7:24 ` cvs-commit@gcc.gnu.org
  2003-06-10  7:24 ` cvs-commit@gcc.gnu.org
                   ` (9 subsequent siblings)
  19 siblings, 0 replies; 21+ messages in thread
From: cvs-commit@gcc.gnu.org @ 2003-06-10  7:24 UTC (permalink / raw)
  To: gcc-bugs

PLEASE REPLY TO gcc-bugzilla@gcc.gnu.org ONLY, *NOT* gcc-bugs@gcc.gnu.org.

http://gcc.gnu.org/bugzilla/show_bug.cgi?id=11131



------- Additional Comments From cvs-commit@gcc.gnu.org  2003-06-10 07:22 -------
Subject: Bug 11131

CVSROOT:	/cvs/gcc
Module name:	gcc
Changes by:	mmitchel@gcc.gnu.org	2003-06-10 07:19:57

Modified files:
	gcc            : ChangeLog tree-inline.c 
	gcc/cp         : ChangeLog cp-tree.h decl2.c pt.c tree.c 
	gcc/testsuite  : ChangeLog 
Added files:
	gcc/testsuite/g++.dg/opt: template1.C 

Log message:
	PR c++/11131
	* tree-inline.c (inlinable_function_p): Call the language-specific
	hook early.
	
	PR c++/11131
	* cp-tree.h (template_for_substitution): Declare.
	* decl2.c (mark_used): Use it when figuring out whether or not a
	function is inline.
	* pt.c (template_for_substitution): Give it external linkage.
	* tree.c (cp_cannot_inline_tree_fn): Instantiate as early as
	possible.
	
	PR c++/11131
	* g++.dg/opt/template1.C: New test.

Patches:
http://gcc.gnu.org/cgi-bin/cvsweb.cgi/gcc/gcc/ChangeLog.diff?cvsroot=gcc&r1=1.18129&r2=1.18130
http://gcc.gnu.org/cgi-bin/cvsweb.cgi/gcc/gcc/tree-inline.c.diff?cvsroot=gcc&r1=1.60&r2=1.61
http://gcc.gnu.org/cgi-bin/cvsweb.cgi/gcc/gcc/cp/ChangeLog.diff?cvsroot=gcc&r1=1.3407&r2=1.3408
http://gcc.gnu.org/cgi-bin/cvsweb.cgi/gcc/gcc/cp/cp-tree.h.diff?cvsroot=gcc&r1=1.849&r2=1.850
http://gcc.gnu.org/cgi-bin/cvsweb.cgi/gcc/gcc/cp/decl2.c.diff?cvsroot=gcc&r1=1.627&r2=1.628
http://gcc.gnu.org/cgi-bin/cvsweb.cgi/gcc/gcc/cp/pt.c.diff?cvsroot=gcc&r1=1.697&r2=1.698
http://gcc.gnu.org/cgi-bin/cvsweb.cgi/gcc/gcc/cp/tree.c.diff?cvsroot=gcc&r1=1.326&r2=1.327
http://gcc.gnu.org/cgi-bin/cvsweb.cgi/gcc/gcc/testsuite/ChangeLog.diff?cvsroot=gcc&r1=1.2752&r2=1.2753
http://gcc.gnu.org/cgi-bin/cvsweb.cgi/gcc/gcc/testsuite/g++.dg/opt/template1.C.diff?cvsroot=gcc&r1=NONE&r2=1.1


^ permalink raw reply	[flat|nested] 21+ messages in thread

* [Bug c++/11131] Unrelated declaration removes inline flag from function
  2003-06-09 12:51 [Bug c++/11131] New: Unrelated declaration removes inline flag from function bangerth@dealii.org
                   ` (11 preceding siblings ...)
  2003-06-10  7:24 ` cvs-commit@gcc.gnu.org
@ 2003-06-11 17:02 ` cvs-commit@gcc.gnu.org
  2003-06-11 17:04 ` mmitchel@gcc.gnu.org
                   ` (6 subsequent siblings)
  19 siblings, 0 replies; 21+ messages in thread
From: cvs-commit@gcc.gnu.org @ 2003-06-11 17:02 UTC (permalink / raw)
  To: gcc-bugs

PLEASE REPLY TO gcc-bugzilla@gcc.gnu.org ONLY, *NOT* gcc-bugs@gcc.gnu.org.

http://gcc.gnu.org/bugzilla/show_bug.cgi?id=11131



------- Additional Comments From cvs-commit@gcc.gnu.org  2003-06-11 17:02 -------
Subject: Bug 11131

CVSROOT:	/cvs/gcc
Module name:	gcc
Changes by:	mmitchel@gcc.gnu.org	2003-06-11 17:02:14

Modified files:
	gcc/cp         : ChangeLog tree.c 

Log message:
	PR c++/11131
	* tree.c (cp_cannot_inline_fn): Check for "inline" before
	instantiation.

Patches:
http://gcc.gnu.org/cgi-bin/cvsweb.cgi/gcc/gcc/cp/ChangeLog.diff?cvsroot=gcc&r1=1.3411&r2=1.3412
http://gcc.gnu.org/cgi-bin/cvsweb.cgi/gcc/gcc/cp/tree.c.diff?cvsroot=gcc&r1=1.327&r2=1.328


^ permalink raw reply	[flat|nested] 21+ messages in thread

* [Bug c++/11131] Unrelated declaration removes inline flag from function
  2003-06-09 12:51 [Bug c++/11131] New: Unrelated declaration removes inline flag from function bangerth@dealii.org
                   ` (12 preceding siblings ...)
  2003-06-11 17:02 ` cvs-commit@gcc.gnu.org
@ 2003-06-11 17:04 ` mmitchel@gcc.gnu.org
  2003-07-27 20:12 ` [Bug c++/11131] [3.4 Regression]Unrelated " pinskia at physics dot uc dot edu
                   ` (5 subsequent siblings)
  19 siblings, 0 replies; 21+ messages in thread
From: mmitchel@gcc.gnu.org @ 2003-06-11 17:04 UTC (permalink / raw)
  To: gcc-bugs

PLEASE REPLY TO gcc-bugzilla@gcc.gnu.org ONLY, *NOT* gcc-bugs@gcc.gnu.org.

http://gcc.gnu.org/bugzilla/show_bug.cgi?id=11131


mmitchel@gcc.gnu.org changed:

           What    |Removed                     |Added
----------------------------------------------------------------------------
             Status|NEW                         |RESOLVED
         Resolution|                            |FIXED


------- Additional Comments From mmitchel@gcc.gnu.org  2003-06-11 17:04 -------
Fixed with patches attached.


^ permalink raw reply	[flat|nested] 21+ messages in thread

* [Bug c++/11131] [3.4 Regression]Unrelated declaration removes inline flag from function
  2003-06-09 12:51 [Bug c++/11131] New: Unrelated declaration removes inline flag from function bangerth@dealii.org
                   ` (13 preceding siblings ...)
  2003-06-11 17:04 ` mmitchel@gcc.gnu.org
@ 2003-07-27 20:12 ` pinskia at physics dot uc dot edu
  2003-07-27 20:12 ` [Bug c++/11131] Unrelated " pinskia at physics dot uc dot edu
                   ` (4 subsequent siblings)
  19 siblings, 0 replies; 21+ messages in thread
From: pinskia at physics dot uc dot edu @ 2003-07-27 20:12 UTC (permalink / raw)
  To: gcc-bugs

PLEASE REPLY TO gcc-bugzilla@gcc.gnu.org ONLY, *NOT* gcc-bugs@gcc.gnu.org.

http://gcc.gnu.org/bugzilla/show_bug.cgi?id=11131


pinskia at physics dot uc dot edu changed:

           What    |Removed                     |Added
----------------------------------------------------------------------------
           Severity|normal                      |critical
           Priority|P2                          |P1
            Summary|Unrelated declaration       |[3.4 Regression]Unrelated
                   |removes inline flag from    |declaration removes inline
                   |function                    |flag from function


^ permalink raw reply	[flat|nested] 21+ messages in thread

* [Bug c++/11131] Unrelated declaration removes inline flag from function
  2003-06-09 12:51 [Bug c++/11131] New: Unrelated declaration removes inline flag from function bangerth@dealii.org
                   ` (14 preceding siblings ...)
  2003-07-27 20:12 ` [Bug c++/11131] [3.4 Regression]Unrelated " pinskia at physics dot uc dot edu
@ 2003-07-27 20:12 ` pinskia at physics dot uc dot edu
  2003-07-29  9:16 ` [Bug c++/11131] [3.4 Regression]Unrelated " steven at gcc dot gnu dot org
                   ` (3 subsequent siblings)
  19 siblings, 0 replies; 21+ messages in thread
From: pinskia at physics dot uc dot edu @ 2003-07-27 20:12 UTC (permalink / raw)
  To: gcc-bugs

PLEASE REPLY TO gcc-bugzilla@gcc.gnu.org ONLY, *NOT* gcc-bugs@gcc.gnu.org.

http://gcc.gnu.org/bugzilla/show_bug.cgi?id=11131


pinskia at physics dot uc dot edu changed:

           What    |Removed                     |Added
----------------------------------------------------------------------------
             Status|RESOLVED                    |REOPENED
 GCC target triplet|                            |i686-pc-linux-gnu
         Resolution|FIXED                       |


------- Additional Comments From pinskia at physics dot uc dot edu  2003-07-27 20:12 -------
The test fails on i686-pc-linux-gnu for some reason but it does not fail on powerpc-apple-
darwin6.6, this on the mainline (20030727).


^ permalink raw reply	[flat|nested] 21+ messages in thread

* [Bug c++/11131] [3.4 Regression]Unrelated declaration removes inline flag from function
  2003-06-09 12:51 [Bug c++/11131] New: Unrelated declaration removes inline flag from function bangerth@dealii.org
                   ` (15 preceding siblings ...)
  2003-07-27 20:12 ` [Bug c++/11131] Unrelated " pinskia at physics dot uc dot edu
@ 2003-07-29  9:16 ` steven at gcc dot gnu dot org
  2003-07-29  9:28 ` steven at gcc dot gnu dot org
                   ` (2 subsequent siblings)
  19 siblings, 0 replies; 21+ messages in thread
From: steven at gcc dot gnu dot org @ 2003-07-29  9:16 UTC (permalink / raw)
  To: gcc-bugs

PLEASE REPLY TO gcc-bugzilla@gcc.gnu.org ONLY, *NOT* gcc-bugs@gcc.gnu.org.

http://gcc.gnu.org/bugzilla/show_bug.cgi?id=11131



------- Additional Comments From steven at gcc dot gnu dot org  2003-07-29 09:16 -------
Don't you just love grep?  I used it to search the gcc-testresults archives, 
and found out this:

Last time test passed:
http://gcc.gnu.org/ml/gcc-testresults/2003-07/msg00668.html
LAST_UPDATED: Fri Jul 11 21:17:03 UTC 2003
686-unknown-openbsd3.1
                      
First time test failed:                                                          
http://gcc.gnu.org/ml/gcc-testresults/2003-07/msg00690.html
LAST_UPDATED: Sat Jul 12 04:01:24 UTC 2003
686-unknown-openbsd3.1
FAIL: g++.dg/opt/template1.C scan-assembler-not foo1

So in that ~7 hour window a patch was checked in that caused this regression. 
That shouldn't be too hard to find with the reghunt script.


^ permalink raw reply	[flat|nested] 21+ messages in thread

* [Bug c++/11131] [3.4 Regression]Unrelated declaration removes inline flag from function
  2003-06-09 12:51 [Bug c++/11131] New: Unrelated declaration removes inline flag from function bangerth@dealii.org
                   ` (16 preceding siblings ...)
  2003-07-29  9:16 ` [Bug c++/11131] [3.4 Regression]Unrelated " steven at gcc dot gnu dot org
@ 2003-07-29  9:28 ` steven at gcc dot gnu dot org
  2003-07-29 17:42 ` cvs-commit at gcc dot gnu dot org
  2003-07-29 17:51 ` hubicka at gcc dot gnu dot org
  19 siblings, 0 replies; 21+ messages in thread
From: steven at gcc dot gnu dot org @ 2003-07-29  9:28 UTC (permalink / raw)
  To: gcc-bugs

PLEASE REPLY TO gcc-bugzilla@gcc.gnu.org ONLY, *NOT* gcc-bugs@gcc.gnu.org.

http://gcc.gnu.org/bugzilla/show_bug.cgi?id=11131


steven at gcc dot gnu dot org changed:

           What    |Removed                     |Added
----------------------------------------------------------------------------
         AssignedTo|nathan at gcc dot gnu dot   |hubicka at gcc dot gnu dot
                   |org                         |org
             Status|REOPENED                    |ASSIGNED


------- Additional Comments From steven at gcc dot gnu dot org  2003-07-29 09:28 -------
Jan, you caused this :-P


^ permalink raw reply	[flat|nested] 21+ messages in thread

* [Bug c++/11131] [3.4 Regression]Unrelated declaration removes inline flag from function
  2003-06-09 12:51 [Bug c++/11131] New: Unrelated declaration removes inline flag from function bangerth@dealii.org
                   ` (17 preceding siblings ...)
  2003-07-29  9:28 ` steven at gcc dot gnu dot org
@ 2003-07-29 17:42 ` cvs-commit at gcc dot gnu dot org
  2003-07-29 17:51 ` hubicka at gcc dot gnu dot org
  19 siblings, 0 replies; 21+ messages in thread
From: cvs-commit at gcc dot gnu dot org @ 2003-07-29 17:42 UTC (permalink / raw)
  To: gcc-bugs

PLEASE REPLY TO gcc-bugzilla@gcc.gnu.org ONLY, *NOT* gcc-bugs@gcc.gnu.org.

http://gcc.gnu.org/bugzilla/show_bug.cgi?id=11131



------- Additional Comments From cvs-commit at gcc dot gnu dot org  2003-07-29 17:42 -------
Subject: Bug 11131

CVSROOT:	/cvs/gcc
Module name:	gcc
Changes by:	hubicka@gcc.gnu.org	2003-07-29 17:42:34

Modified files:
	gcc            : ChangeLog tree-inline.c 

Log message:
	PR C++/11131
	* tree-inline.c (expand_call_inline): Always call inlinable_function_p
	in !unit-at-a-time mode.

Patches:
http://gcc.gnu.org/cgi-bin/cvsweb.cgi/gcc/gcc/ChangeLog.diff?cvsroot=gcc&r1=2.643&r2=2.644
http://gcc.gnu.org/cgi-bin/cvsweb.cgi/gcc/gcc/tree-inline.c.diff?cvsroot=gcc&r1=1.70&r2=1.71


^ permalink raw reply	[flat|nested] 21+ messages in thread

* [Bug c++/11131] [3.4 Regression]Unrelated declaration removes inline flag from function
  2003-06-09 12:51 [Bug c++/11131] New: Unrelated declaration removes inline flag from function bangerth@dealii.org
                   ` (18 preceding siblings ...)
  2003-07-29 17:42 ` cvs-commit at gcc dot gnu dot org
@ 2003-07-29 17:51 ` hubicka at gcc dot gnu dot org
  19 siblings, 0 replies; 21+ messages in thread
From: hubicka at gcc dot gnu dot org @ 2003-07-29 17:51 UTC (permalink / raw)
  To: gcc-bugs

PLEASE REPLY TO gcc-bugzilla@gcc.gnu.org ONLY, *NOT* gcc-bugs@gcc.gnu.org.

http://gcc.gnu.org/bugzilla/show_bug.cgi?id=11131


hubicka at gcc dot gnu dot org changed:

           What    |Removed                     |Added
----------------------------------------------------------------------------
             Status|ASSIGNED                    |RESOLVED
         Resolution|                            |FIXED


------- Additional Comments From hubicka at gcc dot gnu dot org  2003-07-29 17:51 -------
Should be fixed again by my patch. Sorry for breaking this.


^ permalink raw reply	[flat|nested] 21+ messages in thread

end of thread, other threads:[~2003-07-29 17:51 UTC | newest]

Thread overview: 21+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2003-06-09 12:51 [Bug c++/11131] New: Unrelated declaration removes inline flag from function bangerth@dealii.org
2003-06-09 13:06 ` [Bug c++/11131] " pinskia@physics.uc.edu
2003-06-09 13:13 ` bangerth@ices.utexas.edu
2003-06-09 13:21 ` pinskia@physics.uc.edu
2003-06-09 13:26 ` bangerth@ices.utexas.edu
2003-06-09 14:25 ` nathan@gcc.gnu.org
2003-06-09 14:26 ` nathan@gcc.gnu.org
2003-06-09 17:42 ` nathan@codesourcery.com
2003-06-09 20:20 ` bangerth@ices.utexas.edu
2003-06-10  0:00 ` bangerth@ices.utexas.edu
2003-06-10  7:24 ` cvs-commit@gcc.gnu.org
2003-06-10  7:24 ` cvs-commit@gcc.gnu.org
2003-06-10  7:24 ` cvs-commit@gcc.gnu.org
2003-06-11 17:02 ` cvs-commit@gcc.gnu.org
2003-06-11 17:04 ` mmitchel@gcc.gnu.org
2003-07-27 20:12 ` [Bug c++/11131] [3.4 Regression]Unrelated " pinskia at physics dot uc dot edu
2003-07-27 20:12 ` [Bug c++/11131] Unrelated " pinskia at physics dot uc dot edu
2003-07-29  9:16 ` [Bug c++/11131] [3.4 Regression]Unrelated " steven at gcc dot gnu dot org
2003-07-29  9:28 ` steven at gcc dot gnu dot org
2003-07-29 17:42 ` cvs-commit at gcc dot gnu dot org
2003-07-29 17:51 ` hubicka 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).