This is the mail archive of the
gcc-bugs@gcc.gnu.org
mailing list for the GCC project.
[Bug middle-end/61207] Win64 gcc 4.9.0: ICE at -Os compiling some C++ code
- From: "thomas dot petazzoni at free-electrons dot com" <gcc-bugzilla at gcc dot gnu dot org>
- To: gcc-bugs at gcc dot gnu dot org
- Date: Thu, 20 Nov 2014 13:45:28 +0000
- Subject: [Bug middle-end/61207] Win64 gcc 4.9.0: ICE at -Os compiling some C++ code
- Auto-submitted: auto-generated
- References: <bug-61207-4 at http dot gcc dot gnu dot org/bugzilla/>
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=61207
--- Comment #4 from Thomas Petazzoni <thomas.petazzoni@free-electrons.com> ---
(In reply to Kai Tietz from comment #3)
> Hmm, does it help to specify additional option '-fno-ms-extensions'?
No, it doesn't help. In fact in my case, it isn't a -Os problem, but a -O3
problem. I had both the compile command line, with -O3 being last. So in the
end, I tested the following cases:
* -O2 -> builds fine
* -Os -> builds fine
* -O3 -> breaks
* -O3 -fno-ms-extensions -> breaks
If you want to have a look at the code, I've put the pre-processed version of
the file at http://free-electrons.com/~thomas/pub/SVGAllInOne.cpp.xz.
I'm able to reproduce the bug under Ubuntu, using the Ubuntu ARM g++ compiler,
which uses gcc 4.9.1 :
# Default -> OK
thomas@skate:/tmp$ arm-linux-gnueabihf-g++ -c SVGAllInOne.cpp
# -O2 -> OK
thomas@skate:/tmp$ arm-linux-gnueabihf-g++ -O2 -c SVGAllInOne.cpp
# -Os -> OK
thomas@skate:/tmp$ arm-linux-gnueabihf-g++ -Os -c SVGAllInOne.cpp
# -O3 -> NOK
thomas@skate:/tmp$ arm-linux-gnueabihf-g++ -O3 -c SVGAllInOne.cpp
In file included from svg/SVGAnimateMotionElement.cpp:37:0,
from svg/SVGAllInOne.cpp:36:
svg/SVGPathElement.h: In member function âvirtual WebCore::FloatRect
WebCore::SVGPathElement::_ZTv0_n24_N7WebCore14SVGPathElement7getBBoxENS_12SVGLocatable19StyleUpdateStrategyE(WebCore::SVGLocatable::StyleUpdateStrategy)â:
svg/SVGPathElement.h:95:23: internal compiler error: in
expand_expr_addr_expr_1, at expr.c:7649
Please submit a full bug report,
with preprocessed source if appropriate.
See <file:///usr/share/doc/gcc-4.9/README.Bugs> for instructions.
Preprocessed source stored into /tmp/cccMXXZg.out file, please attach this to
your bugreport.
# -O3 -fno-ms-extensions -> NOK
thomas@skate:/tmp$ arm-linux-gnueabihf-g++ -O3 -fno-ms-extensions -c
SVGAllInOne.cpp
In file included from svg/SVGAnimateMotionElement.cpp:37:0,
from svg/SVGAllInOne.cpp:36:
svg/SVGPathElement.h: In member function âvirtual WebCore::FloatRect
WebCore::SVGPathElement::_ZTv0_n24_N7WebCore14SVGPathElement7getBBoxENS_12SVGLocatable19StyleUpdateStrategyE(WebCore::SVGLocatable::StyleUpdateStrategy)â:
svg/SVGPathElement.h:95:23: internal compiler error: in
expand_expr_addr_expr_1, at expr.c:7649
Please submit a full bug report,
with preprocessed source if appropriate.
See <file:///usr/share/doc/gcc-4.9/README.Bugs> for instructions.
Beware that the C++ source file is 7 MB in size, and takes a little while to
build:
$ time arm-linux-gnueabihf-g++ -O2 -c SVGAllInOne.cpp
real 0m32.544s
user 0m32.032s
sys 0m0.431s