Pelles C forum

Pelles C => Feature requests => Topic started by: jiake on May 05, 2014, 11:32:02 AM

Title: Variable numbers of arguments macro
Post by: jiake on May 05, 2014, 11:32:02 AM
Microsoft Visual C++ support this feature:
Code: [Select]
#define PRINTF(fmt, ...) printf(fmt, ##__VA_ARGS__)The following usage are both valid:
Code: [Select]
PRINTF("Good!");
PRINTF("Good (%d)!", 0);
You can pass nothing to the variable numbers of arguments.
I like Pelles C for it supports many new features than Visual C++.
But this one hasn't been supported until 8.0 RC...
Title: Re: Variable numbers of arguments macro
Post by: iZzz32 on May 05, 2014, 04:37:21 PM
Code: [Select]
#define PRINTF(...) printf(__VA_ARGS__)
Title: Re: Variable numbers of arguments macro
Post by: neo313 on May 15, 2014, 02:51:16 PM
Code: [Select]
#define PRINTF(...) printf(__VA_ARGS__)

And your point is? That still requires an argument.
Title: Re: Variable numbers of arguments macro
Post by: iZzz32 on May 16, 2014, 06:08:24 AM
Right. And printf requires a format string.
Title: Re: Variable numbers of arguments macro
Post by: neo313 on May 16, 2014, 11:51:56 AM
Right. And printf requires a format string.

Do you seriously believe that printf is the only function that qualifies for the usage of macro va_args?
Title: Re: Variable numbers of arguments macro
Post by: frankie on May 16, 2014, 01:54:00 PM
Try to compile:
Code: [Select]
int __cdecl test(...)
{
return 0;
}

 ;)
Title: Re: Variable numbers of arguments macro
Post by: neo313 on June 05, 2014, 07:56:42 PM
I would also like this feature.

Does anyone know a hack that would enable this, or at least similar behavior?