public inbox for gcc-bugs@sourceware.org
help / color / mirror / Atom feed
* [Bug optimization/9767] explicit instantiation of class members unoptimized?
       [not found] <20030220055600.9767.bkoz@redhat.com>
@ 2003-06-28 17:55 ` bkoz at gcc dot gnu dot org
  2003-07-29 22:15 ` pinskia at physics dot uc dot edu
                   ` (8 subsequent siblings)
  9 siblings, 0 replies; 10+ messages in thread
From: bkoz at gcc dot gnu dot org @ 2003-06-28 17:55 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=9767


bkoz at gcc dot gnu dot org changed:

           What    |Removed                     |Added
----------------------------------------------------------------------------
                 CC|                            |jh at suse dot cz


------- Additional Comments From bkoz at gcc dot gnu dot org  2003-06-28 17:55 -------
Jan, 
I'm curious: can you see if C++ unit-at-a-time solves this bug? If so, that
would be really excellent: this is probably a 5-10% runtime hit.

thanks,
benjamin


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

* [Bug optimization/9767] explicit instantiation of class members unoptimized?
       [not found] <20030220055600.9767.bkoz@redhat.com>
  2003-06-28 17:55 ` [Bug optimization/9767] explicit instantiation of class members unoptimized? bkoz at gcc dot gnu dot org
@ 2003-07-29 22:15 ` pinskia at physics dot uc dot edu
  2003-07-29 22:45 ` bkoz at gcc dot gnu dot org
                   ` (7 subsequent siblings)
  9 siblings, 0 replies; 10+ messages in thread
From: pinskia at physics dot uc dot edu @ 2003-07-29 22:15 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=9767



------- Additional Comments From pinskia at physics dot uc dot edu  2003-07-29 22:15 -------
It is fixed with -funit-at-a-time in c++. Should we close this, now it is fixed with -funit-at-a-
time?


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

* [Bug optimization/9767] explicit instantiation of class members unoptimized?
       [not found] <20030220055600.9767.bkoz@redhat.com>
  2003-06-28 17:55 ` [Bug optimization/9767] explicit instantiation of class members unoptimized? bkoz at gcc dot gnu dot org
  2003-07-29 22:15 ` pinskia at physics dot uc dot edu
@ 2003-07-29 22:45 ` bkoz at gcc dot gnu dot org
  2003-07-30 15:00 ` jh at suse dot cz
                   ` (6 subsequent siblings)
  9 siblings, 0 replies; 10+ messages in thread
From: bkoz at gcc dot gnu dot org @ 2003-07-29 22:45 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=9767



------- Additional Comments From bkoz at gcc dot gnu dot org  2003-07-29 22:45 -------
Oh really......... veeeeery interesting.

This may make a substantial difference in libstdc++ runtime performance. Can all
of libstdc++ and the libstdc++ testsuite be run with this flag?

-benjamin


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

* [Bug optimization/9767] explicit instantiation of class members unoptimized?
       [not found] <20030220055600.9767.bkoz@redhat.com>
                   ` (2 preceding siblings ...)
  2003-07-29 22:45 ` bkoz at gcc dot gnu dot org
@ 2003-07-30 15:00 ` jh at suse dot cz
  2003-07-30 15:00 ` jh at suse dot cz
                   ` (5 subsequent siblings)
  9 siblings, 0 replies; 10+ messages in thread
From: jh at suse dot cz @ 2003-07-30 15: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=9767



------- Additional Comments From jh at suse dot cz  2003-07-30 15:00 -------
Subject: Re:  explicit instantiation of class members unoptimized?

> PLEASE REPLY TO gcc-bugzilla@gcc.gnu.org ONLY, *NOT* gcc-bugs@gcc.gnu.org.
> 
> http://gcc.gnu.org/bugzilla/show_bug.cgi?id=9767
> 
> 
> 
> ------- Additional Comments From bkoz at gcc dot gnu dot org  2003-07-29 22:45 -------
> Oh really......... veeeeery interesting.
> 
> This may make a substantial difference in libstdc++ runtime performance. Can all
> of libstdc++ and the libstdc++ testsuite be run with this flag?
Yes.  You may even hack opts.c to enable unit-at-a-time at -O2 and get
practically useable compiler.
I hope I will make unit-at-a-time by default at -O2 for 3.4 but until
this happens (or in case I hit the wall somewhere) we can compile
libstdc++ with it.  The resulting library is few % bigger that is quite
non-standard (usually I get code size reduction from c++ code in
unit-at-a-time).  It would be nice to understand the reason.

Honza
> 
> -benjamin
> 
> 
> 
> ------- You are receiving this mail because: -------
> You are on the CC list for the bug, or are watching someone who is.


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

* [Bug optimization/9767] explicit instantiation of class members unoptimized?
       [not found] <20030220055600.9767.bkoz@redhat.com>
                   ` (3 preceding siblings ...)
  2003-07-30 15:00 ` jh at suse dot cz
@ 2003-07-30 15:00 ` jh at suse dot cz
  2003-07-30 19:08 ` bkoz at gcc dot gnu dot org
                   ` (4 subsequent siblings)
  9 siblings, 0 replies; 10+ messages in thread
From: jh at suse dot cz @ 2003-07-30 15: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=9767



------- Additional Comments From jh at suse dot cz  2003-07-30 15:00 -------
Subject: Re:  explicit instantiation of class members unoptimized?

> PLEASE REPLY TO gcc-bugzilla@gcc.gnu.org ONLY, *NOT* gcc-bugs@gcc.gnu.org.
> 
> http://gcc.gnu.org/bugzilla/show_bug.cgi?id=9767
> 
> 
> 
> ------- Additional Comments From pinskia at physics dot uc dot edu  2003-07-29 22:15 -------
> It is fixed with -funit-at-a-time in c++. Should we close this, now it is fixed with -funit-at-a-
> time?

I would guess so.  Or you can assign it to me and we can wait until
-funit-at-a-time become default in case this won't take forever.

Honza
> 
> 
> 
> ------- You are receiving this mail because: -------
> You are on the CC list for the bug, or are watching someone who is.


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

* [Bug optimization/9767] explicit instantiation of class members unoptimized?
       [not found] <20030220055600.9767.bkoz@redhat.com>
                   ` (4 preceding siblings ...)
  2003-07-30 15:00 ` jh at suse dot cz
@ 2003-07-30 19:08 ` bkoz at gcc dot gnu dot org
  2003-07-30 22:54 ` jh at suse dot cz
                   ` (3 subsequent siblings)
  9 siblings, 0 replies; 10+ messages in thread
From: bkoz at gcc dot gnu dot org @ 2003-07-30 19:08 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=9767



------- Additional Comments From bkoz at gcc dot gnu dot org  2003-07-30 19:08 -------

Actually the transition to -funit-at-a-time is not seamless for libstdc++.

I first re-compiled libstdc++ by using

make CXXFLAGS="-g -O2 -funit-at-a-time" all 

after removing the build directory. Then, I added -funit-at-a-time to
scripts/testsuite_flags.h so that 

      --cxxflags)
CXXFLAGS_save="-g -O2 -funit-at-a-time"

Then, I ran make-check in the libstdc++ build directory. I got seven new failures:

FAIL: 22_locale/numpunct/members/pod/2.cc (test for excess errors)
WARNING: 22_locale/numpunct/members/pod/2.cc compilation failed to produce
executable
XPASS: 26_numerics/c99_classification_macros_c.cc (test for excess errors)
FAIL: 26_numerics/complex_inserters_extractors.cc (test for excess errors)
WARNING: 26_numerics/complex_inserters_extractors.cc compilation failed to
produce executable
FAIL: 27_io/basic_ios/cons/char/3.cc (test for excess errors)
WARNING: 27_io/basic_ios/cons/char/3.cc compilation failed to produce
executableFAIL: 27_io/basic_istream/sentry/char/3983-fstream.cc (test for excess
errors)
WARNING: 27_io/basic_istream/sentry/char/3983-fstream.cc compilation failed to
produce executable
FAIL: 27_io/basic_istream/sentry/char/3983-sstream.cc (test for excess errors)
WARNING: 27_io/basic_istream/sentry/char/3983-sstream.cc compilation failed to
produce executable
FAIL: 27_io/basic_ostream/sentry/char/3983-fstream.cc (test for excess errors)
WARNING: 27_io/basic_ostream/sentry/char/3983-fstream.cc compilation failed to
produce executable
FAIL: 27_io/basic_ostream/sentry/char/3983-sstream.cc (test for excess errors)
WARNING: 27_io/basic_ostream/sentry/char/3983-sstream.cc compilation failed to
produce executable
 
                === libstdc++-v3 Summary ===
 
# of expected passes            2010
# of unexpected failures        7
# of unexpected successes       1
# of expected failures          9


These all exhibited the same pathology: missing definitions for virtual dtors.
They look like this:

Executing on host: /mnt/hd/bld/gcc/gcc/g++ -shared-libgcc -B/mnt/hd/bld/gcc/gcc/
-nostdinc++ -L/mnt/hd/bld/gcc/i686-pc-linux-gnu/libstdc++-v3/src
-L/mnt/hd/bld/gcc/i686-pc-linux-gnu/libstdc++-v3/src/.libs
-B/mnt/hd/bld/H-x86-gcc/i686-pc-linux-gnu/bin/
-B/mnt/hd/bld/H-x86-gcc/i686-pc-linux-gnu/lib/ -isystem
/mnt/hd/bld/H-x86-gcc/i686-pc-linux-gnu/include -isystem
/mnt/hd/bld/H-x86-gcc/i686-pc-linux-gnu/sys-include -include bits/stdc++.h -g
-O2 -funit-at-a-time -ffunction-sections -fdata-sections -fmessage-length=0
-DLOCALEDIR="/mnt/hd/bld/gcc/i686-pc-linux-gnu/libstdc++-v3/po/share/locale"
-nostdinc++
-I/mnt/hd/bld/gcc/i686-pc-linux-gnu/libstdc++-v3/include/i686-pc-linux-gnu
-I/mnt/hd/bld/gcc/i686-pc-linux-gnu/libstdc++-v3/include
-I/mnt/hd/src/gcc/libstdc++-v3/libsupc++
-I/mnt/hd/src/gcc/libstdc++-v3/include/backward
-I/mnt/hd/src/gcc/libstdc++-v3/testsuite
/mnt/hd/src/gcc/libstdc++-v3/testsuite/22_locale/numpunct/members/pod/2.cc  
-D_GLIBCXX_ASSERT  -L/mnt/hd/bld/gcc/i686-pc-linux-gnu//libstdc++-v3/testsuite
-lv3test -lm   -o ./2.exe    (timeout = 300)
/tmp/cc6w3g7T.o(.gnu.linkonce.r._ZTVSt19basic_ostringstreamIN9__gnu_cxx9characterItj11__mbstate_tEESt11char_traitsIS3_ESaIS3_EE+0xc):
In function `main':

/mnt/hd/bld/gcc/i686-pc-linux-gnu/libstdc++-v3/include/streambuf:504: undefined
reference to `std::basic_ostringstream<__gnu_cxx::character<unsigned short,
unsigned, __mbstate_t>, std::char_traits<__gnu_cxx::character<unsigned short,
unsigned, __mbstate_t> >, std::allocator<__gnu_cxx::character<unsigned short,
unsigned, __mbstate_t> > >::~basic_ostringstream [in-charge]()'

/tmp/cc6w3g7T.o(.gnu.linkonce.r._ZTVSt19basic_ostringstreamIN9__gnu_cxx9characterItj11__mbstate_tEESt11char_traitsIS3_ESaIS3_EE+0x10):
In function `main':

/mnt/hd/bld/gcc/i686-pc-linux-gnu/libstdc++-v3/include/bits/locale_facets.tcc:705:
undefined reference to `std::basic_ostringstream<__gnu_cxx::character<unsigned
short, unsigned, __mbstate_t>, std::char_traits<__gnu_cxx::character<unsigned
short, unsigned, __mbstate_t> >, std::allocator<__gnu_cxx::character<unsigned
short, unsigned, __mbstate_t> > >::~basic_ostringstream [in-charge deleting]()'

/tmp/cc6w3g7T.o(.gnu.linkonce.r._ZTVSt19basic_ostringstreamIN9__gnu_cxx9characterItj11__mbstate_tEESt11char_traitsIS3_ESaIS3_EE+0x20):
In function `test01()':

/mnt/hd/bld/gcc/i686-pc-linux-gnu/libstdc++-v3/include/bits/locale_classes.h:278:
undefined reference to `virtual thunk [v:0,-12] to
std::basic_ostringstream<__gnu_cxx::character<unsigned short, unsigned,
__mbstate_t>, std::char_traits<__gnu_cxx::character<unsigned short, unsigned,
__mbstate_t> >, std::allocator<__gnu_cxx::character<unsigned short, unsigned,
__mbstate_t> > >::~basic_ostringstream [in-charge]()'

/tmp/cc6w3g7T.o(.gnu.linkonce.r._ZTVSt19basic_ostringstreamIN9__gnu_cxx9characterItj11__mbstate_tEESt11char_traitsIS3_ESaIS3_EE+0x24):
In function `test01()':

/mnt/hd/bld/gcc/i686-pc-linux-gnu/libstdc++-v3/include/bits/basic_string.tcc:380:
undefined reference to `virtual thunk [v:0,-12] to
std::basic_ostringstream<__gnu_cxx::character<unsigned short, unsigned,
__mbstate_t>, std::char_traits<__gnu_cxx::character<unsigned short, unsigned,
__mbstate_t> >, std::allocator<__gnu_cxx::character<unsigned short, unsigned,
__mbstate_t> > >::~basic_ostringstream [in-charge deleting]()'

/tmp/cc6w3g7T.o(.gnu.linkonce.r._ZTCSt19basic_ostringstreamIN9__gnu_cxx9characterItj11__mbstate_tEESt11char_traitsIS3_ESaIS3_EE0_St13basic_ostreamIS3_S5_E+0xc):
In function `main':

/mnt/hd/bld/gcc/i686-pc-linux-gnu/libstdc++-v3/include/streambuf:504: undefined
reference to `std::basic_ostream<__gnu_cxx::character<unsigned short, unsigned,
__mbstate_t>, std::char_traits<__gnu_cxx::character<unsigned short, unsigned,
__mbstate_t> > >::~basic_ostream [in-charge]()'

/tmp/cc6w3g7T.o(.gnu.linkonce.r._ZTCSt19basic_ostringstreamIN9__gnu_cxx9characterItj11__mbstate_tEESt11char_traitsIS3_ESaIS3_EE0_St13basic_ostreamIS3_S5_E+0x10):
In function `main':

/mnt/hd/bld/gcc/i686-pc-linux-gnu/libstdc++-v3/include/bits/locale_facets.tcc:705:
undefined reference to `std::basic_ostream<__gnu_cxx::character<unsigned short,
unsigned, __mbstate_t>, std::char_traits<__gnu_cxx::character<unsigned short,
unsigned, __mbstate_t> > >::~basic_ostream [in-charge deleting]()'

/tmp/cc6w3g7T.o(.gnu.linkonce.r._ZTCSt19basic_ostringstreamIN9__gnu_cxx9characterItj11__mbstate_tEESt11char_traitsIS3_ESaIS3_EE0_St13basic_ostreamIS3_S5_E+0x20):
In function `test01()':

/mnt/hd/bld/gcc/i686-pc-linux-gnu/libstdc++-v3/include/bits/locale_classes.h:278:
undefined reference to `virtual thunk [v:0,-12] to
std::basic_ostream<__gnu_cxx::character<unsigned short, unsigned, __mbstate_t>,
std::char_traits<__gnu_cxx::character<unsigned short, unsigned, __mbstate_t> >
>::~basic_ostream [in-charge]()'

/tmp/cc6w3g7T.o(.gnu.linkonce.r._ZTCSt19basic_ostringstreamIN9__gnu_cxx9characterItj11__mbstate_tEESt11char_traitsIS3_ESaIS3_EE0_St13basic_ostreamIS3_S5_E+0x24):
In function `test01()':

/mnt/hd/bld/gcc/i686-pc-linux-gnu/libstdc++-v3/include/bits/basic_string.tcc:380:
undefined reference to `virtual thunk [v:0,-12] to
std::basic_ostream<__gnu_cxx::character<unsigned short, unsigned, __mbstate_t>,
std::char_traits<__gnu_cxx::character<unsigned short, unsigned, __mbstate_t> >
>::~basic_ostream [in-charge deleting]()'

/tmp/cc6w3g7T.o(.gnu.linkonce.r._ZTVSt13basic_ostreamIN9__gnu_cxx9characterItj11__mbstate_tEESt11char_traitsIS3_EE+0xc):
In function `main':

/mnt/hd/bld/gcc/i686-pc-linux-gnu/libstdc++-v3/include/streambuf:504: undefined
reference to `std::basic_ostream<__gnu_cxx::character<unsigned short, unsigned,
__mbstate_t>, std::char_traits<__gnu_cxx::character<unsigned short, unsigned,
__mbstate_t> > >::~basic_ostream [in-charge]()'

/tmp/cc6w3g7T.o(.gnu.linkonce.r._ZTVSt13basic_ostreamIN9__gnu_cxx9characterItj11__mbstate_tEESt11char_traitsIS3_EE+0x10):
In function `main':

/mnt/hd/bld/gcc/i686-pc-linux-gnu/libstdc++-v3/include/bits/locale_facets.tcc:705:
undefined reference to `std::basic_ostream<__gnu_cxx::character<unsigned short,
unsigned, __mbstate_t>, std::char_traits<__gnu_cxx::character<unsigned short,
unsigned, __mbstate_t> > >::~basic_ostream [in-charge deleting]()'

/tmp/cc6w3g7T.o(.gnu.linkonce.r._ZTVSt13basic_ostreamIN9__gnu_cxx9characterItj11__mbstate_tEESt11char_traitsIS3_EE+0x20):
In function `test01()':

/mnt/hd/bld/gcc/i686-pc-linux-gnu/libstdc++-v3/include/bits/locale_classes.h:278:
undefined reference to `virtual thunk [v:0,-12] to
std::basic_ostream<__gnu_cxx::character<unsigned short, unsigned, __mbstate_t>,
std::char_traits<__gnu_cxx::character<unsigned short, unsigned, __mbstate_t> >
>::~basic_ostream [in-charge]()'

/tmp/cc6w3g7T.o(.gnu.linkonce.r._ZTVSt13basic_ostreamIN9__gnu_cxx9characterItj11__mbstate_tEESt11char_traitsIS3_EE+0x24):
In function `test01()':

/mnt/hd/bld/gcc/i686-pc-linux-gnu/libstdc++-v3/include/bits/basic_string.tcc:380:
undefined reference to `virtual thunk [v:0,-12] to
std::basic_ostream<__gnu_cxx::character<unsigned short, unsigned, __mbstate_t>,
std::char_traits<__gnu_cxx::character<unsigned short, unsigned, __mbstate_t> >
>::~basic_ostream [in-charge deleting]()'

collect2: ld returned 1 exit status

compiler exited with status 1


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

* [Bug optimization/9767] explicit instantiation of class members unoptimized?
       [not found] <20030220055600.9767.bkoz@redhat.com>
                   ` (5 preceding siblings ...)
  2003-07-30 19:08 ` bkoz at gcc dot gnu dot org
@ 2003-07-30 22:54 ` jh at suse dot cz
  2003-07-30 23:48 ` jh at suse dot cz
                   ` (2 subsequent siblings)
  9 siblings, 0 replies; 10+ messages in thread
From: jh at suse dot cz @ 2003-07-30 22:54 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=9767



------- Additional Comments From jh at suse dot cz  2003-07-30 22:54 -------
Subject: Re:  explicit instantiation of class members unoptimized?

> PLEASE REPLY TO gcc-bugzilla@gcc.gnu.org ONLY, *NOT* gcc-bugs@gcc.gnu.org.
> 
> http://gcc.gnu.org/bugzilla/show_bug.cgi?id=9767
> 
> 
> 
> ------- Additional Comments From bkoz at gcc dot gnu dot org  2003-07-30 19:08 -------
> 
> Actually the transition to -funit-at-a-time is not seamless for libstdc++.
> 
> I first re-compiled libstdc++ by using
> 
> make CXXFLAGS="-g -O2 -funit-at-a-time" all 
> 
> after removing the build directory. Then, I added -funit-at-a-time to
> scripts/testsuite_flags.h so that 
> 
>       --cxxflags)
> CXXFLAGS_save="-g -O2 -funit-at-a-time"
> 
> Then, I ran make-check in the libstdc++ build directory. I got seven new failures:
> 
> FAIL: 22_locale/numpunct/members/pod/2.cc (test for excess errors)
> WARNING: 22_locale/numpunct/members/pod/2.cc compilation failed to produce
> executable
> XPASS: 26_numerics/c99_classification_macros_c.cc (test for excess errors)
> FAIL: 26_numerics/complex_inserters_extractors.cc (test for excess errors)
> WARNING: 26_numerics/complex_inserters_extractors.cc compilation failed to
> produce executable
> FAIL: 27_io/basic_ios/cons/char/3.cc (test for excess errors)
> WARNING: 27_io/basic_ios/cons/char/3.cc compilation failed to produce
> executableFAIL: 27_io/basic_istream/sentry/char/3983-fstream.cc (test for excess
> errors)
> WARNING: 27_io/basic_istream/sentry/char/3983-fstream.cc compilation failed to
> produce executable
> FAIL: 27_io/basic_istream/sentry/char/3983-sstream.cc (test for excess errors)
> WARNING: 27_io/basic_istream/sentry/char/3983-sstream.cc compilation failed to
> produce executable
> FAIL: 27_io/basic_ostream/sentry/char/3983-fstream.cc (test for excess errors)
> WARNING: 27_io/basic_ostream/sentry/char/3983-fstream.cc compilation failed to
> produce executable
> FAIL: 27_io/basic_ostream/sentry/char/3983-sstream.cc (test for excess errors)
> WARNING: 27_io/basic_ostream/sentry/char/3983-sstream.cc compilation failed to
> produce executable
>  
>                 === libstdc++-v3 Summary ===
>  
> # of expected passes            2010
> # of unexpected failures        7
> # of unexpected successes       1
> # of expected failures          9
> 
> 
> These all exhibited the same pathology: missing definitions for virtual dtors.
> They look like this:
> 
> Executing on host: /mnt/hd/bld/gcc/gcc/g++ -shared-libgcc -B/mnt/hd/bld/gcc/gcc/
> -nostdinc++ -L/mnt/hd/bld/gcc/i686-pc-linux-gnu/libstdc++-v3/src
> -L/mnt/hd/bld/gcc/i686-pc-linux-gnu/libstdc++-v3/src/.libs
> -B/mnt/hd/bld/H-x86-gcc/i686-pc-linux-gnu/bin/
> -B/mnt/hd/bld/H-x86-gcc/i686-pc-linux-gnu/lib/ -isystem
> /mnt/hd/bld/H-x86-gcc/i686-pc-linux-gnu/include -isystem
> /mnt/hd/bld/H-x86-gcc/i686-pc-linux-gnu/sys-include -include bits/stdc++.h -g
> -O2 -funit-at-a-time -ffunction-sections -fdata-sections -fmessage-length=0
> -DLOCALEDIR="/mnt/hd/bld/gcc/i686-pc-linux-gnu/libstdc++-v3/po/share/locale"
> -nostdinc++
> -I/mnt/hd/bld/gcc/i686-pc-linux-gnu/libstdc++-v3/include/i686-pc-linux-gnu
> -I/mnt/hd/bld/gcc/i686-pc-linux-gnu/libstdc++-v3/include
> -I/mnt/hd/src/gcc/libstdc++-v3/libsupc++
> -I/mnt/hd/src/gcc/libstdc++-v3/include/backward
> -I/mnt/hd/src/gcc/libstdc++-v3/testsuite
> /mnt/hd/src/gcc/libstdc++-v3/testsuite/22_locale/numpunct/members/pod/2.cc  
> -D_GLIBCXX_ASSERT  -L/mnt/hd/bld/gcc/i686-pc-linux-gnu//libstdc++-v3/testsuite
> -lv3test -lm   -o ./2.exe    (timeout = 300)
> /tmp/cc6w3g7T.o(.gnu.linkonce.r._ZTVSt19basic_ostringstreamIN9__gnu_cxx9characterItj11__mbstate_tEESt11char_traitsIS3_ESaIS3_EE+0xc):
> In function `main':
> 
> /mnt/hd/bld/gcc/i686-pc-linux-gnu/libstdc++-v3/include/streambuf:504: undefined
> reference to `std::basic_ostringstream<__gnu_cxx::character<unsigned short,
> unsigned, __mbstate_t>, std::char_traits<__gnu_cxx::character<unsigned short,
> unsigned, __mbstate_t> >, std::allocator<__gnu_cxx::character<unsigned short,
> unsigned, __mbstate_t> > >::~basic_ostringstream [in-charge]()'
> 
> /tmp/cc6w3g7T.o(.gnu.linkonce.r._ZTVSt19basic_ostringstreamIN9__gnu_cxx9characterItj11__mbstate_tEESt11char_traitsIS3_ESaIS3_EE+0x10):
> In function `main':
> 
> /mnt/hd/bld/gcc/i686-pc-linux-gnu/libstdc++-v3/include/bits/locale_facets.tcc:705:
> undefined reference to `std::basic_ostringstream<__gnu_cxx::character<unsigned
> short, unsigned, __mbstate_t>, std::char_traits<__gnu_cxx::character<unsigned
> short, unsigned, __mbstate_t> >, std::allocator<__gnu_cxx::character<unsigned
> short, unsigned, __mbstate_t> > >::~basic_ostringstream [in-charge deleting]()'
> 
> /tmp/cc6w3g7T.o(.gnu.linkonce.r._ZTVSt19basic_ostringstreamIN9__gnu_cxx9characterItj11__mbstate_tEESt11char_traitsIS3_ESaIS3_EE+0x20):
> In function `test01()':
> 
> /mnt/hd/bld/gcc/i686-pc-linux-gnu/libstdc++-v3/include/bits/locale_classes.h:278:
> undefined reference to `virtual thunk [v:0,-12] to
> std::basic_ostringstream<__gnu_cxx::character<unsigned short, unsigned,
> __mbstate_t>, std::char_traits<__gnu_cxx::character<unsigned short, unsigned,
> __mbstate_t> >, std::allocator<__gnu_cxx::character<unsigned short, unsigned,
> __mbstate_t> > >::~basic_ostringstream [in-charge]()'

Hmm, these faiulres are definitly new.  I will check them out.
You may try to play with older tree.

Honza


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

* [Bug optimization/9767] explicit instantiation of class members unoptimized?
       [not found] <20030220055600.9767.bkoz@redhat.com>
                   ` (6 preceding siblings ...)
  2003-07-30 22:54 ` jh at suse dot cz
@ 2003-07-30 23:48 ` jh at suse dot cz
  2003-08-23  1:48 ` dhazeghi at yahoo dot com
  2003-11-27 16:49 ` pinskia at gcc dot gnu dot org
  9 siblings, 0 replies; 10+ messages in thread
From: jh at suse dot cz @ 2003-07-30 23:48 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=9767



------- Additional Comments From jh at suse dot cz  2003-07-30 23:48 -------
Subject: Re:  explicit instantiation of class members unoptimized?

> PLEASE REPLY TO gcc-bugzilla@gcc.gnu.org ONLY, *NOT* gcc-bugs@gcc.gnu.org.
> 
> http://gcc.gnu.org/bugzilla/show_bug.cgi?id=9767
> 
> 
> 
> ------- Additional Comments From jh at suse dot cz  2003-07-30 22:54 -------
> Subject: Re:  explicit instantiation of class members unoptimized?
> 
> > PLEASE REPLY TO gcc-bugzilla@gcc.gnu.org ONLY, *NOT* gcc-bugs@gcc.gnu.org.
> > 
> > http://gcc.gnu.org/bugzilla/show_bug.cgi?id=9767
> > 
> > 
> > 
> > ------- Additional Comments From bkoz at gcc dot gnu dot org  2003-07-30 19:08 -------
> > 
> > Actually the transition to -funit-at-a-time is not seamless for libstdc++.
> > 
> > I first re-compiled libstdc++ by using
> > 
> > make CXXFLAGS="-g -O2 -funit-at-a-time" all 
> > 
> > after removing the build directory. Then, I added -funit-at-a-time to
> > scripts/testsuite_flags.h so that 
> > 
> >       --cxxflags)
> > CXXFLAGS_save="-g -O2 -funit-at-a-time"
> > 
> > Then, I ran make-check in the libstdc++ build directory. I got seven new failures:
> > 
> > FAIL: 22_locale/numpunct/members/pod/2.cc (test for excess errors)
> > WARNING: 22_locale/numpunct/members/pod/2.cc compilation failed to produce
> > executable
> > XPASS: 26_numerics/c99_classification_macros_c.cc (test for excess errors)
> > FAIL: 26_numerics/complex_inserters_extractors.cc (test for excess errors)
> > WARNING: 26_numerics/complex_inserters_extractors.cc compilation failed to
> > produce executable
> > FAIL: 27_io/basic_ios/cons/char/3.cc (test for excess errors)
> > WARNING: 27_io/basic_ios/cons/char/3.cc compilation failed to produce
> > executableFAIL: 27_io/basic_istream/sentry/char/3983-fstream.cc (test for excess
> > errors)
> > WARNING: 27_io/basic_istream/sentry/char/3983-fstream.cc compilation failed to
> > produce executable
> > FAIL: 27_io/basic_istream/sentry/char/3983-sstream.cc (test for excess errors)
> > WARNING: 27_io/basic_istream/sentry/char/3983-sstream.cc compilation failed to
> > produce executable
> > FAIL: 27_io/basic_ostream/sentry/char/3983-fstream.cc (test for excess errors)
> > WARNING: 27_io/basic_ostream/sentry/char/3983-fstream.cc compilation failed to
> > produce executable
> > FAIL: 27_io/basic_ostream/sentry/char/3983-sstream.cc (test for excess errors)
> > WARNING: 27_io/basic_ostream/sentry/char/3983-sstream.cc compilation failed to
> > produce executable
> >  
> >                 === libstdc++-v3 Summary ===
> >  
> > # of expected passes            2010
> > # of unexpected failures        7
> > # of unexpected successes       1
> > # of expected failures          9
> > 
> > 
> > These all exhibited the same pathology: missing definitions for virtual dtors.
> > They look like this:
> > 
> > Executing on host: /mnt/hd/bld/gcc/gcc/g++ -shared-libgcc -B/mnt/hd/bld/gcc/gcc/
> > -nostdinc++ -L/mnt/hd/bld/gcc/i686-pc-linux-gnu/libstdc++-v3/src
> > -L/mnt/hd/bld/gcc/i686-pc-linux-gnu/libstdc++-v3/src/.libs
> > -B/mnt/hd/bld/H-x86-gcc/i686-pc-linux-gnu/bin/
> > -B/mnt/hd/bld/H-x86-gcc/i686-pc-linux-gnu/lib/ -isystem
> > /mnt/hd/bld/H-x86-gcc/i686-pc-linux-gnu/include -isystem
> > /mnt/hd/bld/H-x86-gcc/i686-pc-linux-gnu/sys-include -include bits/stdc++.h -g
> > -O2 -funit-at-a-time -ffunction-sections -fdata-sections -fmessage-length=0
> > -DLOCALEDIR="/mnt/hd/bld/gcc/i686-pc-linux-gnu/libstdc++-v3/po/share/locale"
> > -nostdinc++
> > -I/mnt/hd/bld/gcc/i686-pc-linux-gnu/libstdc++-v3/include/i686-pc-linux-gnu
> > -I/mnt/hd/bld/gcc/i686-pc-linux-gnu/libstdc++-v3/include
> > -I/mnt/hd/src/gcc/libstdc++-v3/libsupc++
> > -I/mnt/hd/src/gcc/libstdc++-v3/include/backward
> > -I/mnt/hd/src/gcc/libstdc++-v3/testsuite
> > /mnt/hd/src/gcc/libstdc++-v3/testsuite/22_locale/numpunct/members/pod/2.cc  
> > -D_GLIBCXX_ASSERT  -L/mnt/hd/bld/gcc/i686-pc-linux-gnu//libstdc++-v3/testsuite
> > -lv3test -lm   -o ./2.exe    (timeout = 300)
> > /tmp/cc6w3g7T.o(.gnu.linkonce.r._ZTVSt19basic_ostringstreamIN9__gnu_cxx9characterItj11__mbstate_tEESt11char_traitsIS3_ESaIS3_EE+0xc):
> > In function `main':
> > 
> > /mnt/hd/bld/gcc/i686-pc-linux-gnu/libstdc++-v3/include/streambuf:504: undefined
> > reference to `std::basic_ostringstream<__gnu_cxx::character<unsigned short,
> > unsigned, __mbstate_t>, std::char_traits<__gnu_cxx::character<unsigned short,
> > unsigned, __mbstate_t> >, std::allocator<__gnu_cxx::character<unsigned short,
> > unsigned, __mbstate_t> > >::~basic_ostringstream [in-charge]()'
> > 
> > /tmp/cc6w3g7T.o(.gnu.linkonce.r._ZTVSt19basic_ostringstreamIN9__gnu_cxx9characterItj11__mbstate_tEESt11char_traitsIS3_ESaIS3_EE+0x10):
> > In function `main':
> > 
> > /mnt/hd/bld/gcc/i686-pc-linux-gnu/libstdc++-v3/include/bits/locale_facets.tcc:705:
> > undefined reference to `std::basic_ostringstream<__gnu_cxx::character<unsigned
> > short, unsigned, __mbstate_t>, std::char_traits<__gnu_cxx::character<unsigned
> > short, unsigned, __mbstate_t> >, std::allocator<__gnu_cxx::character<unsigned
> > short, unsigned, __mbstate_t> > >::~basic_ostringstream [in-charge deleting]()'
> > 
> > /tmp/cc6w3g7T.o(.gnu.linkonce.r._ZTVSt19basic_ostringstreamIN9__gnu_cxx9characterItj11__mbstate_tEESt11char_traitsIS3_ESaIS3_EE+0x20):
> > In function `test01()':
> > 
> > /mnt/hd/bld/gcc/i686-pc-linux-gnu/libstdc++-v3/include/bits/locale_classes.h:278:
> > undefined reference to `virtual thunk [v:0,-12] to
> > std::basic_ostringstream<__gnu_cxx::character<unsigned short, unsigned,
> > __mbstate_t>, std::char_traits<__gnu_cxx::character<unsigned short, unsigned,
> > __mbstate_t> >, std::allocator<__gnu_cxx::character<unsigned short, unsigned,
> > __mbstate_t> > >::~basic_ostringstream [in-charge]()'
> 
> Hmm, these faiulres are definitly new.  I will check them out.
> You may try to play with older tree.

I can not reproduce these, unfortuantely.  But I just commited fix for
very similary looking failure in KDE build so perhaps your problem is
solved by it as well?

Honza
> 
> Honza
> 
> 
> 
> 
> ------- You are receiving this mail because: -------
> You are on the CC list for the bug, or are watching someone who is.


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

* [Bug optimization/9767] explicit instantiation of class members unoptimized?
       [not found] <20030220055600.9767.bkoz@redhat.com>
                   ` (7 preceding siblings ...)
  2003-07-30 23:48 ` jh at suse dot cz
@ 2003-08-23  1:48 ` dhazeghi at yahoo dot com
  2003-11-27 16:49 ` pinskia at gcc dot gnu dot org
  9 siblings, 0 replies; 10+ messages in thread
From: dhazeghi at yahoo dot com @ 2003-08-23  1:48 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=9767


dhazeghi at yahoo dot com changed:

           What    |Removed                     |Added
----------------------------------------------------------------------------
   Target Milestone|3.4                         |---


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

* [Bug optimization/9767] explicit instantiation of class members unoptimized?
       [not found] <20030220055600.9767.bkoz@redhat.com>
                   ` (8 preceding siblings ...)
  2003-08-23  1:48 ` dhazeghi at yahoo dot com
@ 2003-11-27 16:49 ` pinskia at gcc dot gnu dot org
  9 siblings, 0 replies; 10+ messages in thread
From: pinskia at gcc dot gnu dot org @ 2003-11-27 16:49 UTC (permalink / raw)
  To: gcc-bugs


------- Additional Comments From pinskia at gcc dot gnu dot org  2003-11-27 16:49 -------
Fixed with unit-at-a-time.

-- 
           What    |Removed                     |Added
----------------------------------------------------------------------------
             Status|NEW                         |RESOLVED
         Resolution|                            |FIXED
   Target Milestone|---                         |3.4


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


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

end of thread, other threads:[~2003-11-27 16:49 UTC | newest]

Thread overview: 10+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
     [not found] <20030220055600.9767.bkoz@redhat.com>
2003-06-28 17:55 ` [Bug optimization/9767] explicit instantiation of class members unoptimized? bkoz at gcc dot gnu dot org
2003-07-29 22:15 ` pinskia at physics dot uc dot edu
2003-07-29 22:45 ` bkoz at gcc dot gnu dot org
2003-07-30 15:00 ` jh at suse dot cz
2003-07-30 15:00 ` jh at suse dot cz
2003-07-30 19:08 ` bkoz at gcc dot gnu dot org
2003-07-30 22:54 ` jh at suse dot cz
2003-07-30 23:48 ` jh at suse dot cz
2003-08-23  1:48 ` dhazeghi at yahoo dot com
2003-11-27 16:49 ` 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).