mirror of https://code.videolan.org/videolan/vlc
configure: check typeof on C++ compilers
C compilers can have GNU extensions to support typeof in C code, but some C++ compilers like clang are removing the builtin since decltype can be used in C++ without the constraints from typeof. Decltype is not 100% equivalent for this reason: references will be kept in the returned type. The check in m4/typeof.m4 comes from graydon/monotone and dovecot/core and was slightly modified to namespace the define for C++ code.
This commit is contained in:
parent
0caa9ea0e6
commit
784c324571
|
@ -68,7 +68,10 @@ dnl Check for compiler properties
|
||||||
AC_C_CONST
|
AC_C_CONST
|
||||||
AC_C_INLINE
|
AC_C_INLINE
|
||||||
AC_C_RESTRICT
|
AC_C_RESTRICT
|
||||||
|
AC_LANG_PUSH([C++])
|
||||||
AX_CXX_COMPILE_STDCXX_14([noext], [mandatory])
|
AX_CXX_COMPILE_STDCXX_14([noext], [mandatory])
|
||||||
|
AX_CXX_TYPEOF
|
||||||
|
AC_LANG_POP([C++])
|
||||||
|
|
||||||
dnl Extend the --help string at the current spot.
|
dnl Extend the --help string at the current spot.
|
||||||
AC_DEFUN([EXTEND_HELP_STRING], [m4_divert_once([HELP_ENABLE], [$1])])
|
AC_DEFUN([EXTEND_HELP_STRING], [m4_divert_once([HELP_ENABLE], [$1])])
|
||||||
|
|
|
@ -0,0 +1,20 @@
|
||||||
|
dnl @synopsis AX_CXX_TYPEOF
|
||||||
|
dnl
|
||||||
|
dnl tests for the presence of the gcc hashmap stl extension
|
||||||
|
dnl
|
||||||
|
dnl @author Patrick Mauritz <oxygene@studentenbude.ath.cx>
|
||||||
|
dnl @version 2005-08-15
|
||||||
|
dnl @license AllPermissive
|
||||||
|
|
||||||
|
AC_DEFUN([AX_CXX_TYPEOF],[
|
||||||
|
AC_LANG_ASSERT([C++])
|
||||||
|
AC_CACHE_CHECK(whether the C++ compiler supports typeof,
|
||||||
|
ac_cv_cxx_typeof,
|
||||||
|
[AC_COMPILE_IFELSE([AC_LANG_SOURCE([[ int x; typeof (x) y[6]; ]])],
|
||||||
|
[ac_cv_cxx_typeof=yes],
|
||||||
|
[ac_cv_cxx_typeof=no])
|
||||||
|
])
|
||||||
|
if test "$ac_cv_cxx_typeof" = yes; then
|
||||||
|
AC_DEFINE(HAVE_CXX_TYPEOF, 1, [Define if the compiler supports typeof.])
|
||||||
|
fi
|
||||||
|
])
|
Loading…
Reference in New Issue