[C++ PATCH] Inline even functions containing static variables (take 4)

Jakub Jelinek jakub@redhat.com
Fri Mar 23 07:59:00 GMT 2001


On Fri, Mar 23, 2001 at 03:54:06AM +0000, Jason Merrill wrote:
> >>>>> "Jakub" == Jakub Jelinek <jakub@redhat.com> writes:
> 
> > +  init = tmp;
> > +  tmp = save_expr (tmp);
> > +  if (TREE_STATIC (decl) && !TREE_CONSTANT (tmp))
> > +    return tmp;
> 
> Does anything break if we remove this save_expr?  It seems useless, as
> does the assignment to init.

It bootstrapped and created no regressions without those 2 lines, so I've
commited that to head. Thanks.
Branch does not work for me with or without the patch, libstdc++.so gets
unresolved _ZNSt6locale2id12_S_highwaterE symbol for some reason on
i386-*linux. Anyone know what is it caused by?

BTW: There are 2 related patches:
http://gcc.gnu.org/ml/gcc-patches/2001-03/msg01418.html - fix
void foo() { static int i asm ("foobar"); } - this one depends on the just
commited patch
and
http://gcc.gnu.org/ml/gcc-patches/2001-03/msg01198.html - the mangling
discrepancy with discriminators fix which was agreed on, but I'm not sure
if the patch itself has been approved.
Can I commit both to trunk (and as soon as branch is back bootstrappable
to branch as well)?

	Jakub



More information about the Gcc-patches mailing list