public inbox for gcc-bugs@sourceware.org
help / color / mirror / Atom feed
From: "jh at suse dot cz" <gcc-bugzilla@gcc.gnu.org>
To: gcc-bugs@gcc.gnu.org
Subject: [Bug optimization/9767] explicit instantiation of class members unoptimized?
Date: Wed, 30 Jul 2003 22:54:00 -0000	[thread overview]
Message-ID: <20030730225454.25429.qmail@sources.redhat.com> (raw)
In-Reply-To: <20030220055600.9767.bkoz@redhat.com>

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


  parent reply	other threads:[~2003-07-30 22:54 UTC|newest]

Thread overview: 10+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
     [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
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 [this message]
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

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=20030730225454.25429.qmail@sources.redhat.com \
    --to=gcc-bugzilla@gcc.gnu.org \
    --cc=gcc-bugs@gcc.gnu.org \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
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).