https://gcc.gnu.org/bugzilla/show_bug.cgi?id=40391
Andrew Pinski changed:
What|Removed |Added
Status|WAITING |RESOLVED
Resolution|---
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=40391
Martin Sebor changed:
What|Removed |Added
CC||msebor at gcc dot gnu.org
--- Comment #11
--- Comment #10 from fp at mc dot com 2009-06-10 13:20 ---
Created an attachment (id=17975)
--> (http://gcc.gnu.org/bugzilla/attachment.cgi?id=17975&action=view)
disassemble.txt
Assembly dump of the function that crashes. gdb reports that the crash occurs
at address 0x10001384.
--
--- Comment #9 from fp at mc dot com 2009-06-10 13:18 ---
gdb reports
Program received signal SIGSEGV, Segmentation fault.
0x10001384 in make ()
at
/opt/timesys/toolchains/lib/gcc/powerpc-timesys-linux-gnu/4.2.1/../../../../powerpc-timesys-linux-gnu/include/c++/4.2.1/ostream:366
366
--- Comment #8 from jwakely dot gcc at gmail dot com 2009-06-10 13:09
---
(In reply to comment #6)
> According to my copy of ISO 14992:1998, std::iostream does not have a default
> constructor. However, my reading of the standard leads me to believe that it
> is valid to pass a null po
--- Comment #7 from fp at mc dot com 2009-06-10 12:51 ---
Created an attachment (id=17974)
--> (http://gcc.gnu.org/bugzilla/attachment.cgi?id=17974&action=view)
iostest.zip
Fixes test case to avoid invalid code. (Passes null pointer to base class then
calls this->init(&m_buf).)
--
--- Comment #6 from fp at mc dot com 2009-06-10 12:50 ---
Jonathan,
thank you for identifying the bug in my original code.
According to my copy of ISO 14992:1998, std::iostream does not have a default
constructor. However, my reading of the standard leads me to believe that it
is vali
--- Comment #5 from jwakely dot gcc at gmail dot com 2009-06-10 10:42
---
(In reply to comment #4)
>
> You shoudl either pass a null pointer to the base class, then call
> m_buf.init()
Oops, I got that a bit wrong, don't pass a null pointer to the base
constructor.
You should either
--- Comment #4 from jwakely dot gcc at gmail dot com 2009-06-10 10:33
---
The code is invalid
MyStream::
MyStream ()
: std::iostream (&m_buf),
m_buf ()
{
}
m_buf has not been cosntructed when you pass it to the base constructor, so
m_buf.init() is called on an uncosntructed stre
--- Comment #3 from rguenth at gcc dot gnu dot org 2009-06-09 20:11 ---
GCC 4.2 is no longer maintained, and GCC 4.2.4 is the latest bugfix release
from the 4.2 series. Please reproduce with at least GCC 4.3.3.
--
rguenth at gcc dot gnu dot org changed:
What|Removed
--- Comment #2 from pinskia at gcc dot gnu dot org 2009-06-09 19:12 ---
anonymous namespaces enable more inlining so ...
--
pinskia at gcc dot gnu dot org changed:
What|Removed |Added
11 matches
Mail list logo