@mhoye I totally agree with your larger point! I'm making fun of the GNU info program, which (I believe?) is still the authoritative docs for the GNU C Compiler. Your answer isn't those docs either.
Part of the blame here lies with C as a programming language and some of the weirdness of the type signature of printf. It's tricky for a C compiler to print a more useful error here, although I think printf would be worth a special case in the error handling. I'm not sure any set of docs can swiftly get to this answer, a Google search actually works OK.
I do appreciate that Python tries to be more humane about this kind of thing, but it has plenty of rough spots too.