On Thu, 03 Dec 2009, Mindaugas Kavaliauskas wrote:

Hi,

> it would be nice to have multiple parameter support for both C and
> .PRG version of HB_SYMBOL_UNUSED() macro.

Variadic macros were added as part of C99 standard. Only few C compilers
like GCC supported variadic macros before C99 specification so we cannot
use them by default.
Anyhow if use C compiler with C99 compatible preprocessor then you can try
to implement it but because C preprocessor is not flexible enough to make
some more advanced conversions on __VA_ARGS__ then it is necessary to use
some hacks like stripped by optimizer dummy function, i.e.:

   extern void _HB_SYMBOL_UNUSED_( int x, ... );
   #undef HB_SYMBOL_UNUSED
   #define HB_SYMBOL_UNUSED( ... )   \
      do { if( 0 ) _HB_SYMBOL_UNUSED_( 0, __VA_ARGS__ ); } while( 0 )

In .prg code we do not have such problems ;-) so you can simply use:

   #ytranslate HB_SYMBOL_UNUSED( <v1> , <v2> [, <vN> ] ) => ;
               HB_SYMBOL_UNUSED( <v1> ) ;
             ; HB_SYMBOL_UNUSED( <v2> ) ;
           [ ; HB_SYMBOL_UNUSED( <vN> ) ]

best regards,
Przemek
_______________________________________________
Harbour mailing list (attachment size limit: 40KB)
Harbour@harbour-project.org
http://lists.harbour-project.org/mailman/listinfo/harbour

Reply via email to