------- Comment #3 from mikpe at it dot uu dot se 2009-10-17 22:08 ------- I just had a look at some gcc-4.4.2 testsuite failure on arm-linux-gnueabi, and came across the uninit-13.c one and this PR.
The error is not that uninit-13.c triggers an "is used uninitialized" warning, it's supposed to do that, but that on ARM the line number for the warning is off-by-one. On armv5tel-linux-gnueabi: uninit-13.c: In function 'foo': uninit-13.c:7: warning: '__real__ f' is used uninitialized in this function On i686-pc-linux-gnu: uninit-13.c: In function 'foo': uninit-13.c:8: warning: '__real__ f' is used uninitialized in this function Apparently x86-64 is also off-by-one, while my powerpc64 box agrees with i686. If I replace the _Complex float with a struct of two floats like this: typedef struct { float x; float y; } C; C foo() { float x; float y; x = 0; return (C){x, y}; } then my i686 and ARM compilers emit identical warnings. Something strange is happening with _Complex on ARM (and x86-64). -- mikpe at it dot uu dot se changed: What |Removed |Added ---------------------------------------------------------------------------- CC| |mikpe at it dot uu dot se http://gcc.gnu.org/bugzilla/show_bug.cgi?id=39246