This is the mail archive of the
gcc-help@gcc.gnu.org
mailing list for the GCC project.
Re: [g++] -O produces incorrect code
2007/10/8, Christoph Bartoschek <bartoschek@gmx.de>:
> Ok. Your problem is your build system.
I feared that. :-{
> 1. It does not catch all dependencies. For example changing PDFDoc.h does not
> result in a recompilation of pdftoepdf.cc.
>
> 2. The header PDFDoc.h is processed with different defines. When you compile
> PDFDoc.cc the macro DISABLE_OUTLINE is defined and the struct PDFDoc gets
> not the member Outline * outline just in front of ok. But when you compile
> pdftoepdf.cc the macro is not defined and the member is there. Because of
> inlining the compilation unit pdftoepdf.cc thinks that the variable GBool ok
> is 4 bytes after what compilation unit PDFDoc.cc thinks. This results in the
> problems you have.
THANKS!
> I would suggest that you fix your build system as soon as possible.
We are lacking the necessary autofoo knowledge. :-{
Best
Martin