For historical reasons, various WebCore classes have debug-only code that outputs them to a std::ostream. This requires include the header <ostream>, which in turn includes <cmath>, which causes us to run afoul of some troubles because <cmath> undefines the macros from <math.h>.
Created attachment 3850 [details] patch to remove the use of <ostream> and take out <math.h> workarounds
Comment on attachment 3850 [details] patch to remove the use of <ostream> and take out <math.h> workarounds The changes for everything but KWQDef.h look fine. Removing qRound and the 64 bit types will break KDOM's build.
OK. Eric, here's something to bring up with the KSVG folks: Going forward, is there a reason that KSVG needs to use Q types for 64-bit rather than standard C types? And is there a reason it can't just call the C standard lround instead of qRound? I think a good rule is to use Qt stuff if there isn't a standard C alternative, but not if there is.
Comment on attachment 3850 [details] patch to remove the use of <ostream> and take out <math.h> workarounds This breaks building under 4.0 (thus will break the opensource folks). Also please add back the 16 and 64 bit types, and qRound as otherwise WebCore+SVG build will break when landing. Otherwise the patch looks fine.
Created attachment 4312 [details] new patch; needs testing on gcc 4, but otherwise ready for review
In general, r=me, but please test on gcc4. I am going to r- this until it works with gcc4, so it does not get accidentally committed; but please consider it an r+ and feel free to make it so once fixed on gcc4.
Created attachment 5154 [details] another pass -- this patch tested on both gcc 3 and gcc 4
Comment on attachment 5154 [details] another pass -- this patch tested on both gcc 3 and gcc 4 Last time the concerns were SVG and gcc 4. This patch compiles with SVG and works with both gcc 3 and gcc 4.
Comment on attachment 5154 [details] another pass -- this patch tested on both gcc 3 and gcc 4 r=me
Comment on attachment 5154 [details] another pass -- this patch tested on both gcc 3 and gcc 4 Looks good. r=me.