FYI I have also submitted a bug report on GCC Bugzilla [1] http://gcc.gnu.org/bugzilla/show_bug.cgi?id=53439
On Mon, May 21, 2012 at 11:31 AM, Christophe Prud'homme <prudh...@debian.org > wrote: > Please note that > - Debug -g > - RelWithDebInfo uses -g -O1 > - Release uses -O3 > > there must be an option in -O1 that generates the buggy code. > > > Best regards > C. > > > On Mon, May 21, 2012 at 10:34 AM, Christophe Prud'homme < > prudh...@debian.org> wrote: > >> Package: g++-4.7 >> Version: 4.7.0-8 >> Severity: normal >> Tags: upstream >> >> Dear Maintainer, >> >> * What led up to the situation? >> I ported feel++ to gcc47 and found out that it generates buggy >> code(generating >> segfault) in optimisation mode. >> Here are the steps to reproduce it >> - install feel++-apps >> - execute feel_doc_myfunctionspace (compiled using >> CMAKE_BUILD_TYPE=Release) >> - it generates a segfault >> >> what happens is that a data structure containing only a double data >> member seem >> to be optimized away and became dangling reference (invalid read using >> valgrind). >> The code crashes at line 220 of doc/manual/tutorial/myfunctionspace.cpp >> when >> evaluating the expression template data structure g defined on line 215. >> >> - in gcc47 with CMAKE_BUILD_TYPE=Debug, it works without problems >> - with gcc45, gcc46, clang31 on Linux and OSX there are no problems at >> all >> in RelWithDebInfo and Release mode (CMAKE_BUILD_TYPE) >> >> Hence I believe that this is a bug in gcc47 code generation/optimisation. >> >> >> >> -- System Information: >> Debian Release: wheezy/sid >> APT prefers unstable >> APT policy: (500, 'unstable') >> Architecture: amd64 (x86_64) >> >> Kernel: Linux 3.2.0-2-amd64 (SMP w/1 CPU core) >> Locale: LANG=en_US.UTF-8, LC_CTYPE=en_US.UTF-8 (charmap=UTF-8) >> Shell: /bin/sh linked to /bin/dash >> >> Versions of packages g++-4.7 depends on: >> ii gcc-4.7 4.7.0-8 >> ii gcc-4.7-base 4.7.0-8 >> ii libc6 2.13-32 >> ii libgmp10 2:5.0.5+dfsg-1.1 >> ii libmpc2 0.9-4 >> ii libmpfr4 3.1.0-5 >> ii libstdc++6-4.7-dev 4.7.0-8 >> ii zlib1g 1:1.2.7.dfsg-2 >> >> g++-4.7 recommends no packages. >> >> Versions of packages g++-4.7 suggests: >> pn g++-4.7-multilib <none> >> pn gcc-4.7-doc <none> >> pn libstdc++6-4.7-dbg <none> >> >> -- no debconf information >> >> >> >