This is the mail archive of the gcc-help@gcc.gnu.org mailing list for the GCC project.


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]
Other format: [Raw text]

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


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]