From: RĂ©mi Denis-Courmont Date: Thu, 24 Jan 2008 20:55:46 +0000 (+0000) Subject: Remove some GCCisms. X-Git-Tag: 0.9.0-test0~3224 X-Git-Url: https://git.sesse.net/?a=commitdiff_plain;h=a82fd8f9dd412c48d3989bb5ae99c4153edd9ea8;p=vlc Remove some GCCisms. Fix RC compilation, and OSD from C++ code in the process. --- diff --git a/configure.ac b/configure.ac index 26b0c09b14..46508e2561 100644 --- a/configure.ac +++ b/configure.ac @@ -1125,20 +1125,6 @@ dnl VLC_ADD_LDFLAGS([plugin mozilla],[-shared]) dnl ]) dnl ]) -dnl Check for variadic macros -AC_CACHE_CHECK([for variadic cpp macros], - [ac_cv_cpp_variadic_macros], - [CFLAGS="${CFLAGS_save}" - AC_TRY_COMPILE( - [#include - #define a(b,c...) printf(b,##c)], - [a("foo");a("%s","bar");a("%s%s","baz","quux");], - ac_cv_cpp_variadic_macros=yes, - ac_cv_cpp_variadic_macros=no)]) -if test "${ac_cv_cpp_variadic_macros}" != "no"; then - AC_DEFINE(HAVE_VARIADIC_MACROS, 1, Support for variadic macros) -fi - dnl Checks for __attribute__(aligned()) directive AC_CACHE_CHECK([__attribute__ ((aligned ())) support], [ac_cv_c_attribute_aligned], diff --git a/include/vlc_common.h b/include/vlc_common.h index 3b4dd1c6e8..c9211be106 100644 --- a/include/vlc_common.h +++ b/include/vlc_common.h @@ -38,7 +38,6 @@ * Required vlc headers *****************************************************************************/ #if defined( __BORLANDC__ ) -# undef HAVE_VARIADIC_MACROS # undef HAVE_STDINT_H # undef HAVE_INTTYPES_H #elif defined( _MSC_VER ) diff --git a/include/vlc_messages.h b/include/vlc_messages.h index 8ca7ff0c4a..953e962444 100644 --- a/include/vlc_messages.h +++ b/include/vlc_messages.h @@ -136,67 +136,18 @@ VLC_EXPORT( void, __msg_Err, ( vlc_object_t *, const char *, ... ) ATTRIBUTE VLC_EXPORT( void, __msg_Warn, ( vlc_object_t *, const char *, ... ) ATTRIBUTE_FORMAT( 2, 3 ) ); VLC_EXPORT( void, __msg_Dbg, ( vlc_object_t *, const char *, ... ) ATTRIBUTE_FORMAT( 2, 3 ) ); -#ifdef HAVE_VARIADIC_MACROS - -# define msg_Info( p_this, psz_format, args... ) \ - __msg_Generic( VLC_OBJECT(p_this), MSG_QUEUE_NORMAL,VLC_MSG_INFO, MODULE_STRING, \ - psz_format, ## args ) - -# define msg_Err( p_this, psz_format, args... ) \ - __msg_Generic( VLC_OBJECT(p_this), MSG_QUEUE_NORMAL, VLC_MSG_ERR, MODULE_STRING, \ - psz_format, ## args ) - -# define msg_Warn( p_this, psz_format, args... ) \ - __msg_Generic( VLC_OBJECT(p_this), MSG_QUEUE_NORMAL, VLC_MSG_WARN, MODULE_STRING, \ - psz_format, ## args ) - -# define msg_Dbg( p_this, psz_format, args... ) \ - __msg_Generic( VLC_OBJECT(p_this), MSG_QUEUE_NORMAL, VLC_MSG_DBG, MODULE_STRING, \ - psz_format, ## args ) - -#elif defined(_MSC_VER) /* To avoid warnings and even errors with c++ files */ - -inline void msg_Info( void *p_this, const char *psz_format, ... ) -{ - va_list ap; - va_start( ap, psz_format ); - __msg_GenericVa( ( vlc_object_t *)p_this, MSG_QUEUE_NORMAL,VLC_MSG_INFO, MODULE_STRING, - psz_format, ap ); - va_end(ap); -} -inline void msg_Err( void *p_this, const char *psz_format, ... ) -{ - va_list ap; - va_start( ap, psz_format ); - __msg_GenericVa( ( vlc_object_t *)p_this,MSG_QUEUE_NORMAL, VLC_MSG_ERR, MODULE_STRING, - psz_format, ap ); - va_end(ap); -} -inline void msg_Warn( void *p_this, const char *psz_format, ... ) -{ - va_list ap; - va_start( ap, psz_format ); - __msg_GenericVa( ( vlc_object_t *)p_this, MSG_QUEUE_NORMAL, VLC_MSG_WARN, MODULE_STRING, - psz_format, ap ); - va_end(ap); -} -inline void msg_Dbg( void *p_this, const char *psz_format, ... ) -{ - va_list ap; - va_start( ap, psz_format ); - __msg_GenericVa( ( vlc_object_t *)p_this, MSG_QUEUE_NORMAL, VLC_MSG_DBG, MODULE_STRING, - psz_format, ap ); - va_end(ap); -} - -#else /* _MSC_VER */ - -# define msg_Info __msg_Info -# define msg_Err __msg_Err -# define msg_Warn __msg_Warn -# define msg_Dbg __msg_Dbg - -#endif /* HAVE_VARIADIC_MACROS */ +#define msg_Info( p_this, ... ) \ + __msg_Generic( VLC_OBJECT(p_this), MSG_QUEUE_NORMAL, VLC_MSG_INFO, \ + MODULE_STRING, __VA_ARGS__ ) +#define msg_Err( p_this, ... ) \ + __msg_Generic( VLC_OBJECT(p_this), MSG_QUEUE_NORMAL, VLC_MSG_ERR, \ + MODULE_STRING, __VA_ARGS__ ) +#define msg_Warn( p_this, ... ) \ + __msg_Generic( VLC_OBJECT(p_this), MSG_QUEUE_NORMAL, VLC_MSG_WARN, \ + MODULE_STRING, __VA_ARGS__ ) +#define msg_Dbg( p_this, ... ) \ + __msg_Generic( VLC_OBJECT(p_this), MSG_QUEUE_NORMAL, VLC_MSG_DBG, \ + MODULE_STRING, __VA_ARGS__ ) #define msg_Create(a) __msg_Create(VLC_OBJECT(a)) #define msg_Flush(a) __msg_Flush(VLC_OBJECT(a)) diff --git a/include/vlc_osd.h b/include/vlc_osd.h index f9452c3fa0..2b15c39062 100644 --- a/include/vlc_osd.h +++ b/include/vlc_osd.h @@ -655,11 +655,8 @@ VLC_EXPORT( void, __vout_OSDMessage, ( vlc_object_t *, int, const char *, ... ) /** * Same as __vlc_OSDMessage() but with automatic casting */ -#if defined(HAVE_VARIADIC_MACROS) -# define vout_OSDMessage( obj, chan, fmt, args...) __vout_OSDMessage( VLC_OBJECT(obj), chan, fmt, ## args ) -#else -# define vout_OSDMessage __vout_OSDMessage -#endif +#define vout_OSDMessage( obj, chan, ...) \ + __vout_OSDMessage( VLC_OBJECT(obj), chan, __VA_ARGS__ ) /** * Display a slider on the video output. diff --git a/modules/control/rc.c b/modules/control/rc.c index b0878212e1..5be18fa1a5 100644 --- a/modules/control/rc.c +++ b/modules/control/rc.c @@ -134,10 +134,7 @@ struct intf_sys_t #endif }; -#ifdef HAVE_VARIADIC_MACROS -# define msg_rc( psz_format, args... ) \ - __msg_rc( p_intf, psz_format, ## args ) -#endif +#define msg_rc( ... ) __msg_rc( p_intf, __VA_ARGS__ ) static void __msg_rc( intf_thread_t *p_intf, const char *psz_fmt, ... ) {