https://gcc.gnu.org/bugzilla/show_bug.cgi?id=66367
Bug ID: 66367 Summary: Objective-C Variadic Method Not Working Product: gcc Version: 5.1.0 Status: UNCONFIRMED Severity: normal Priority: P3 Component: objc Assignee: unassigned at gcc dot gnu.org Reporter: chrisloonam at gmail dot com Target Milestone: --- Created attachment 35671 --> https://gcc.gnu.org/bugzilla/attachment.cgi?id=35671&action=edit The source file that is generating the error, pre-compiled with gcc -save-temps This error is being experienced on GCC 5.1.0 on an Arch Linux system. When making a variadic method like the following - (void)method:(id)o, ... { int c = 1; va_list list; va_start(list, o); while (va_arg(list, id)) c++; va_end(list); } the compiler reports the following error error: expected expression before ‘id’ If `id` is replaced with `void *`, the same error occurs. Attached is the pre-compiled source of the file where you can find this code. The file succssfully compiles in clang, leading me to believe that this is in fact a bug and not a programmer error.