[Date Prev][Date Next] [Thread Prev][Thread Next] [Date Index] [Thread Index]

Bug#630441: g++-4.6 miscompilation



On 09/04/2011 07:35 PM, Philip Ashmore wrote:
On 04/09/11 17:40, Matthias Klose wrote:
On 09/04/2011 06:24 PM, Philip Ashmore wrote:
- if you have a working and a non-working build, can you try
The build fails due to a test failure caused by the compiler generating
incorrect code.
If we want to fix this bug then working around it won't help.

you do misunderstand. somebody has to find the object file which is causing
this. It's not meant as a work around, but to find the offending code. If you
can track this down to an object file, split it up further, and get to a
function which you claim is miscompiled.

The same problem may happen at any time in anyones code.
The fact that my code caught the problem in a test where it could be spotted is
sheer good/bad luck, and is reproducible.

and it's not uncommon that newer GCC versions expose invalid code in
somebody's code.

Matthias

 From Message 5 above http://bugs.debian.org/cgi-bin/bugreport.cgi?bug=630441#5

The problem line appears to be
206: const char * p = context.data((PCVOID)node);

Sorry if I wasn't clear:

This is line 206 in file meta-treedb-1.3.0-01/v3c/1-comet/cxx-string-list-test.cpp.

The function this line is in is
int test(uint16_t abytes, uint16_t aflags, uint16_t xbytes, uint16_t xflags)
and starts at line 96.

This is the source file for the er, cxx-string-list-test program that failed.

do you say, that if you just re-build the test program with an older GCC version, then the test does succeed? If not, you'll still have to find the object file in the tested code, not in the testing code.



Reply to: