http://gcc.gnu.org/bugzilla/show_bug.cgi?id=58709
--- Comment #2 from Paul Pluzhnikov <ppluzhnikov at google dot com> --- (In reply to Andrew Pinski from comment #1) > I think the warning is correct as it is not promoted to int in the function > call. How is it passed then? I see: movl $0, 4(%esp) movl $.LC0, (%esp) call printf on ix86, and movl $0, %esi movl $.LC0, %edi call printf on x86_64. Looks like an "int" to me.