public inbox for gcc-bugs@sourceware.org
help / color / mirror / Atom feed
* [Bug ipa/63745] New: [4.9/5 Regression] mythtv build failure due to aggressive speculative devirtualization
@ 2014-11-05  8:53 trippels at gcc dot gnu.org
  2014-11-05  8:54 ` [Bug ipa/63745] " trippels at gcc dot gnu.org
                   ` (5 more replies)
  0 siblings, 6 replies; 7+ messages in thread
From: trippels at gcc dot gnu.org @ 2014-11-05  8:53 UTC (permalink / raw)
  To: gcc-bugs

https://gcc.gnu.org/bugzilla/show_bug.cgi?id=63745

            Bug ID: 63745
           Summary: [4.9/5 Regression] mythtv build failure due to
                    aggressive speculative devirtualization
           Product: gcc
           Version: 4.9.3
            Status: UNCONFIRMED
          Severity: normal
          Priority: P3
         Component: ipa
          Assignee: unassigned at gcc dot gnu.org
          Reporter: trippels at gcc dot gnu.org
                CC: hubicka at gcc dot gnu.org

With the attached unreduced testcase I get:

markus@x4 /tmp % g++ -flto -O2 foo.ii 2>&1 | grep
"VideoBuffers::StartDisplayingFrame"
markus@x4 /tmp % g++ -fno-devirtualize-speculatively  -O2 foo.ii 2>&1 | grep
"VideoBuffers::StartDisplayingFrame"
markus@x4 /tmp % g++ -O2 foo.ii 2>&1 | grep
"VideoBuffers::StartDisplayingFrame"
/tmp/ccEenHoO.o:main.cpp:function VideoOutput::StartDisplayingFrame(): error:
undefined reference to 'VideoBuffers::StartDisplayingFrame()'
/tmp/ccEenHoO.o:main.cpp:function VideoPerformanceTest::Test(): error:
undefined reference to 'VideoBuffers::StartDisplayingFrame()'

Creduce came up with the following (invalid) testcase:

 % cat main.ii
struct VideoBuffers
{
  void StartDisplayingFrame ();
};
struct B
{
  VideoBuffers vbuffers;
  virtual void
  StartDisplay ()
  {
    vbuffers.StartDisplayingFrame ();
  }
};
struct VideoPerformanceTest
{
  B *Test_vo;
  void
  Test ()
  {
    while (1)
      Test_vo->StartDisplay ();
  }
};

 % g++ -fno-devirtualize-speculatively -O2 -Wl,--no-undefined main.ii
 % g++ -flto -O2 -Wl,--no-undefined main.ii
 % g++ -O2 -Wl,--no-undefined main.ii
/tmp/ccTlyhda.o:main.ii:function B::StartDisplay(): error: undefined reference
to 'VideoBuffers::StartDisplayingFrame()'
/tmp/ccTlyhda.o:main.ii:function main: error: undefined reference to
'VideoBuffers::StartDisplayingFrame()'


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

end of thread, other threads:[~2014-11-05 14:14 UTC | newest]

Thread overview: 7+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2014-11-05  8:53 [Bug ipa/63745] New: [4.9/5 Regression] mythtv build failure due to aggressive speculative devirtualization trippels at gcc dot gnu.org
2014-11-05  8:54 ` [Bug ipa/63745] " trippels at gcc dot gnu.org
2014-11-05  9:03 ` trippels at gcc dot gnu.org
2014-11-05  9:48 ` trippels at gcc dot gnu.org
2014-11-05 12:30 ` rguenth at gcc dot gnu.org
2014-11-05 13:38 ` hubicka at ucw dot cz
2014-11-05 14:14 ` trippels at gcc dot gnu.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).