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 > > >