http://gcc.gnu.org/bugzilla/show_bug.cgi?id=47650
--- Comment #20 from joe at mcknight dot de 2011-03-15 16:03:23 UTC --- Unfortunately I cannot confirm that this bug is fixed, so I need to reopen it. For one thing this bug is not only about variadic functions, but dump_function_declaration() returns wrong output also for other cases as described, like functions involving function pointers and typedef'ed structs. Second I am still seeing the issue described earlier, where a function now returns a variadic function even though there is none. I have modified the function to print debug output to a file and I am attaching both the modified function and its debug output. For me it looks like the "arg != void_list_node" does not work, so the while loop is executed once more, printing the "void" and then arg goes NULL, the loop is left and since arg is NULL, the function prints ", ..." at the end. Let me know if there is anything else I can do to help.