Remove some GCCisms.
authorRémi Denis-Courmont <rem@videolan.org>
Thu, 24 Jan 2008 20:55:46 +0000 (20:55 +0000)
committerRémi Denis-Courmont <rem@videolan.org>
Thu, 24 Jan 2008 20:55:46 +0000 (20:55 +0000)
Fix RC compilation, and OSD from C++ code in the process.

configure.ac
include/vlc_common.h
include/vlc_messages.h
include/vlc_osd.h
modules/control/rc.c

index 26b0c09..46508e2 100644 (file)
@@ -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 <stdio.h>
-          #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],
index 3b4dd1c..c9211be 100644 (file)
@@ -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 )
index 8ca7ff0..953e962 100644 (file)
@@ -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))
index f9452c3..2b15c39 100644 (file)
@@ -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.
index b087821..5be18fa 100644 (file)
@@ -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, ... )
 {