------- 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