Commit a82fd8f9 authored by Rémi Denis-Courmont's avatar Rémi Denis-Courmont

Remove some GCCisms.

Fix RC compilation, and OSD from C++ code in the process.
parent cd6fc843
...@@ -1125,20 +1125,6 @@ dnl VLC_ADD_LDFLAGS([plugin mozilla],[-shared]) ...@@ -1125,20 +1125,6 @@ dnl VLC_ADD_LDFLAGS([plugin mozilla],[-shared])
dnl ]) dnl ])
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 dnl Checks for __attribute__(aligned()) directive
AC_CACHE_CHECK([__attribute__ ((aligned ())) support], AC_CACHE_CHECK([__attribute__ ((aligned ())) support],
[ac_cv_c_attribute_aligned], [ac_cv_c_attribute_aligned],
......
...@@ -38,7 +38,6 @@ ...@@ -38,7 +38,6 @@
* Required vlc headers * Required vlc headers
*****************************************************************************/ *****************************************************************************/
#if defined( __BORLANDC__ ) #if defined( __BORLANDC__ )
# undef HAVE_VARIADIC_MACROS
# undef HAVE_STDINT_H # undef HAVE_STDINT_H
# undef HAVE_INTTYPES_H # undef HAVE_INTTYPES_H
#elif defined( _MSC_VER ) #elif defined( _MSC_VER )
......
...@@ -136,67 +136,18 @@ VLC_EXPORT( void, __msg_Err, ( vlc_object_t *, const char *, ... ) ATTRIBUTE ...@@ -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_Warn, ( vlc_object_t *, const char *, ... ) ATTRIBUTE_FORMAT( 2, 3 ) );
VLC_EXPORT( void, __msg_Dbg, ( 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, ... ) \
__msg_Generic( VLC_OBJECT(p_this), MSG_QUEUE_NORMAL, VLC_MSG_INFO, \
# define msg_Info( p_this, psz_format, args... ) \ MODULE_STRING, __VA_ARGS__ )
__msg_Generic( VLC_OBJECT(p_this), MSG_QUEUE_NORMAL,VLC_MSG_INFO, MODULE_STRING, \ #define msg_Err( p_this, ... ) \
psz_format, ## args ) __msg_Generic( VLC_OBJECT(p_this), MSG_QUEUE_NORMAL, VLC_MSG_ERR, \
MODULE_STRING, __VA_ARGS__ )
# define msg_Err( p_this, psz_format, args... ) \ #define msg_Warn( p_this, ... ) \
__msg_Generic( VLC_OBJECT(p_this), MSG_QUEUE_NORMAL, VLC_MSG_ERR, MODULE_STRING, \ __msg_Generic( VLC_OBJECT(p_this), MSG_QUEUE_NORMAL, VLC_MSG_WARN, \
psz_format, ## args ) MODULE_STRING, __VA_ARGS__ )
#define msg_Dbg( p_this, ... ) \
# define msg_Warn( p_this, psz_format, args... ) \ __msg_Generic( VLC_OBJECT(p_this), MSG_QUEUE_NORMAL, VLC_MSG_DBG, \
__msg_Generic( VLC_OBJECT(p_this), MSG_QUEUE_NORMAL, VLC_MSG_WARN, MODULE_STRING, \ MODULE_STRING, __VA_ARGS__ )
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_Create(a) __msg_Create(VLC_OBJECT(a)) #define msg_Create(a) __msg_Create(VLC_OBJECT(a))
#define msg_Flush(a) __msg_Flush(VLC_OBJECT(a)) #define msg_Flush(a) __msg_Flush(VLC_OBJECT(a))
......
...@@ -655,11 +655,8 @@ VLC_EXPORT( void, __vout_OSDMessage, ( vlc_object_t *, int, const char *, ... ) ...@@ -655,11 +655,8 @@ VLC_EXPORT( void, __vout_OSDMessage, ( vlc_object_t *, int, const char *, ... )
/** /**
* Same as __vlc_OSDMessage() but with automatic casting * Same as __vlc_OSDMessage() but with automatic casting
*/ */
#if defined(HAVE_VARIADIC_MACROS) #define vout_OSDMessage( obj, chan, ...) \
# define vout_OSDMessage( obj, chan, fmt, args...) __vout_OSDMessage( VLC_OBJECT(obj), chan, fmt, ## args ) __vout_OSDMessage( VLC_OBJECT(obj), chan, __VA_ARGS__ )
#else
# define vout_OSDMessage __vout_OSDMessage
#endif
/** /**
* Display a slider on the video output. * Display a slider on the video output.
......
...@@ -134,10 +134,7 @@ struct intf_sys_t ...@@ -134,10 +134,7 @@ struct intf_sys_t
#endif #endif
}; };
#ifdef HAVE_VARIADIC_MACROS #define msg_rc( ... ) __msg_rc( p_intf, __VA_ARGS__ )
# define msg_rc( psz_format, args... ) \
__msg_rc( p_intf, psz_format, ## args )
#endif
static void __msg_rc( intf_thread_t *p_intf, const char *psz_fmt, ... ) static void __msg_rc( intf_thread_t *p_intf, const char *psz_fmt, ... )
{ {
......
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment