
Thomas Witt wrote:
Edward Diener wrote:
Joaquin M Lopez Munoz wrote:
With the command line from above with modifications for my own paths:
For whatever reason, although #include <cstdarg> is in the source file, when the Comeau compiler is executed it never actually includes the file. This must be a bug in the Comeau compiler but perhaps Greg Comeau has a fix for it.
Also even if one does an #include<stdarg.h> it never gets included.
I know this sounds preposterous but I have tested this out on my system extensively to determine that this is what is happening. I have no idea what the compiler is doing in this regard.
Of course this would explain the va_list error but I have no idea where va_list is coming from in the first place if neither of these files are ever included.
Did you read my post? The compiler is free to implement the standard includes in any way it wants and this is what comeau does. And yes it seems to be buggy.
I have notified Comeau of the bug. It can be seen just by: #include <cstdarg> void test() { std::va_list avar; } ATEST.CPP(3): error #276: name followed by "::" must be a class or namespace name std::va_list args; ^ ATEST.CPP(3): error #65: expected a ";" std::va_list args; ^ and just compiling, option -c, with no other options ( vc71 default is set ). I have notified Comeau of the problem and am awaiting another response from them. Their first response was to say what you did, about "compiler magic", but since I did not have a simple test case, I replied with the example above.