Bug#673749: g++-4.7: gcc47 generates buggy code with optimisation flags

2012-05-21 Thread Christophe Prud'homme
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  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-base4.7.0-8
>> ii  libc6   2.13-32
>> ii  libgmp102:5.0.5+dfsg-1.1
>> ii  libmpc2 0.9-4
>> ii  libmpfr43.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
>> pn  gcc-4.7-doc 
>> pn  libstdc++6-4.7-dbg  
>>
>> -- no debconf information
>>
>>
>>
>


Bug#673749: g++-4.7: gcc47 generates buggy code with optimisation flags

2012-05-21 Thread Christophe Prud'homme
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  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-base4.7.0-8
> ii  libc6   2.13-32
> ii  libgmp102:5.0.5+dfsg-1.1
> ii  libmpc2 0.9-4
> ii  libmpfr43.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
> pn  gcc-4.7-doc 
> pn  libstdc++6-4.7-dbg  
>
> -- no debconf information
>
>
>


Bug#673749: g++-4.7: gcc47 generates buggy code with optimisation flags

2012-05-21 Thread Christophe Prud'homme
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-base4.7.0-8
ii  libc6   2.13-32
ii  libgmp102:5.0.5+dfsg-1.1
ii  libmpc2 0.9-4
ii  libmpfr43.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
pn  gcc-4.7-doc 
pn  libstdc++6-4.7-dbg  

-- no debconf information



-- 
To UNSUBSCRIBE, email to debian-bugs-dist-requ...@lists.debian.org
with a subject of "unsubscribe". Trouble? Contact listmas...@lists.debian.org