------- Comment #3 from pinskia at gcc dot gnu dot org 2006-12-05 19:45 -------
I don't know what you mean by saying it reports the wrong return type.
In 3.4.0 I get a call to printf:
call g
testl %eax, %eax
jns .L2
movl $.LC0, (%esp)
call printf
.L2:-- http://gcc.gnu.org/bugzilla/show_bug.cgi?id=30072
