This is the mail archive of the
gcc-patches@gcc.gnu.org
mailing list for the GCC project.
Re: Outdated stuff in gcc.texi
- To: mrs at windriver dot com (Mike Stump)
- Subject: Re: Outdated stuff in gcc.texi
- From: Joe Buck <jbuck at synopsys dot COM>
- Date: Tue, 11 Jan 2000 12:23:38 -0800 (PST)
- Cc: mark at codesourcery dot com, martin at loewis dot home dot cs dot tu-berlin dot de, dstarner98 at aasaa dot ofe dot org, gcc-patches at gcc dot gnu dot org, gcc at gcc dot gnu dot org
From: "Martin v. Loewis" <martin@loewis.home.cs.tu-berlin.de>
> > I was surprised by that statement, so I did some experimentation.
> > Compiling
>
> > struct A{
> > ~A();
> > };
>
> > int foo();
>
> > int main()
> > {
> > for(int i=0;i<4;i++){
> > A a;
> > foo();
> > }
> > }
>
> > with -O2 -funroll-loops indeed generates duplicate assembler labels on
> > i586-pc-linux-gnu, due to gcc recycling the assembler labels for the
> > exception cleanup regions when unrolling.
Mike Stump writes:
> Not for me it doesn't, maybe your sources are out of date. ;-P
With the 2000-01-10 snapshot, I'm seeing the same bug on the Sparc.
Are your fixes more recent than the snapshot?
Output of "gcc -v -c -O2 -funroll-loops eh.cxx" where eh.cxx is
the above code:
Reading specs from /remote/dtg103/jbuck/egcs/bin/../lib/gcc-lib/sparc-sun-solaris2.5.1/2.96/specs
gcc version 2.96 20000110 (experimental)
/remote/dtg103/jbuck/egcs/bin/../lib/gcc-lib/sparc-sun-solaris2.5.1/2.96/cpp -lang-c++ -v -iprefix /remote/dtg103/jbuck/egcs/bin/../lib/gcc-lib/sparc-sun-solaris2.5.1/2.96/ -D__GNUC__=2 -D__GNUG__=2 -D__GNUC_MINOR__=96 -D__cplusplus -Dsparc -Dsun -Dunix -D__svr4__ -D__SVR4 -D__sparc__ -D__sun__ -D__unix__ -D__svr4__ -D__SVR4 -D__sparc -D__sun -D__unix -Asystem(unix) -Asystem(svr4) -D__EXCEPTIONS -D__OPTIMIZE__ -D__GCC_NEW_VARARGS__ -Acpu(sparc) -Amachine(sparc) eh.cxx /var/tmp/ccD62kVa.ii
GNU CPP version 2.96 20000110 (experimental) (sparc)
#include "..." search starts here:
#include <...> search starts here:
/remote/dtg103/jbuck/egcs/bin/../lib/gcc-lib/sparc-sun-solaris2.5.1/2.96/../../../../include/g++-3
/remote/dtg103/jbuck/egcs/bin/../lib/gcc-lib/sparc-sun-solaris2.5.1/2.96/../../../../sparc-sun-solaris2.5.1/include
/remote/dtg103/jbuck/egcs/bin/../lib/gcc-lib/sparc-sun-solaris2.5.1/2.96/include
/u/jbuck/egcs/lib/gcc-lib/sparc-sun-solaris2.5.1/2.96/../../../../include/g++-3
/usr/local/include
/u/jbuck/egcs/lib/gcc-lib/sparc-sun-solaris2.5.1/2.96/../../../../sparc-sun-solaris2.5.1/include
/u/jbuck/egcs/lib/gcc-lib/sparc-sun-solaris2.5.1/2.96/include
/usr/include
End of search list.
The following default directories have been omitted from the search path:
End of omitted list.
/remote/dtg103/jbuck/egcs/bin/../lib/gcc-lib/sparc-sun-solaris2.5.1/2.96/cc1plus /var/tmp/ccD62kVa.ii -quiet -dumpbase eh.cc -O2 -version -funroll-loops -o /var/tmp/ccIyUtNc.s
GNU C++ version 2.96 20000110 (experimental) (sparc-sun-solaris2.5.1) compiled by GNU C version 2.96 20000110 (experimental).
/usr/ccs/bin/as -V -Qy -s -o eh.o /var/tmp/ccIyUtNc.s
/usr/ccs/bin/as: WorkShop Compilers 4.2 dev 13 May 1996
/usr/ccs/bin/as: "/var/tmp/ccIyUtNc.s", line 22: error: redefinition of symbol ".LLEHB7"
/usr/ccs/bin/as: "/var/tmp/ccIyUtNc.s", line 25: error: redefinition of symbol ".LLEHE7"
/usr/ccs/bin/as: "/var/tmp/ccIyUtNc.s", line 29: error: redefinition of symbol ".LLEHB7"
/usr/ccs/bin/as: "/var/tmp/ccIyUtNc.s", line 32: error: redefinition of symbol ".LLEHE7"
/usr/ccs/bin/as: "/var/tmp/ccIyUtNc.s", line 36: error: redefinition of symbol ".LLEHB7"
/usr/ccs/bin/as: "/var/tmp/ccIyUtNc.s", line 39: error: redefinition of symbol ".LLEHE7"
/usr/ccs/bin/as: "/var/tmp/ccIyUtNc.s", line 76: error: redefinition of symbol ".LLRTH7"
/usr/ccs/bin/as: "/var/tmp/ccIyUtNc.s", line 82: error: redefinition of symbol ".LLRTH7"
/usr/ccs/bin/as: "/var/tmp/ccIyUtNc.s", line 88: error: redefinition of symbol ".LLRTH7"