/Volumes/Apostasy/rosyna/WebCore/kwq/KWQPainter.mm: In member function 'void QPainter::drawFloatPixmap(float, float, float, float, const QPixmap&, float, float, float, float, int, CGContext*)': /Volumes/Apostasy/rosyna/WebCore/kwq/KWQPainter.mm:518: warning: argument 'w' might be clobbered by 'longjmp' or 'vfork' /Volumes/Apostasy/rosyna/WebCore/kwq/KWQPainter.mm:518: warning: argument 'h' might be clobbered by 'longjmp' or 'vfork' /Volumes/Apostasy/rosyna/WebCore/kwq/KWQPainter.mm:518: warning: argument 'sw' might be clobbered by 'longjmp' or 'vfork' /Volumes/Apostasy/rosyna/WebCore/kwq/KWQPainter.mm:518: warning: argument 'sh' might be clobbered by 'longjmp' or 'vfork' Kind of odd considering they are all arguments to the function
GCC 4.0.1 build 5226 is used.
Most people have an older version of gcc, so this doesn't affect everyone.
xenon and I made a workaround for this, I'll post it
Created attachment 3989 [details] Patch This is compiler bug <rdar://problem/4266497>. Only happens with -Os on 5226+. I made temporary variables for sw, sh, w, and h. I had to move KWQ_BLOCK_EXCEPTIONS as well, I'm not sure if that's OK.
Comment on attachment 3989 [details] Patch Looks fine. I still need to get around to investigating the @try/@catch change more, as hopefully that would allow us to avoid these silly warnings. r=me.
Eric, note that Justin and Tim *did* investigate the @try/@catch approach. When they tried, it caused even more of these types of problems.