c/8609: Superfluous warning when -std=c99/gnu99 and noreturn on main()

bangerth@dealii.org bangerth@dealii.org
Mon Nov 18 15:06:00 GMT 2002

Synopsis: Superfluous warning when -std=c99/gnu99 and noreturn on main()

State-Changed-From-To: open->analyzed
State-Changed-By: bangerth
State-Changed-When: Mon Nov 18 14:55:06 2002
    I can reproduce this. I think, the warning comes from the fact
    that in C99, main() has an implicit "return 0" at its end,
    indicating that if you fall off the end of main(), the
    programs return value is zero. This also explains why it
    only happens with main(), not if you rename the function.
    That being said, since you cannot control who calls main
    and how, what reason should you have to mark main() as
    noreturn? It should not make any difference, so why do
    it? I have difficulty seeing this as a bug...


More information about the Gcc-bugs mailing list