mirror of
https://github.com/brl/mutter.git
synced 2024-12-25 12:32:05 +00:00
configure: Fix the check for _Static_assert
The check for whether the compiler supports _Static_assert didn't work properly because the AC_TRY_COMPILE function puts the source definition in its own main function. The test therefore ends up declaring a nested main function which GCC allows. If _Static_assert isn't available then it just looks like an implicit declaration of a function which only causes a warning in GCC so it would still compile. This patch changes it to use AC_COMPILE_IFELSE instead. This macro makes it possible to specify the complete source code so _Static_assert can be called from the global scope. AC_LANG_PROGRAM is used to generate the program. For extra aesthetics it now also generates a 'checking for...' message while the script is running. Reviewed-by: Robert Bragg <robert@linux.intel.com> (cherry picked from commit 9657938c3083a782234e1e9f05ab5ae88a6bc5ab)
This commit is contained in:
parent
8dd77de009
commit
a9d1939425
17
configure.ac
17
configure.ac
@ -938,16 +938,13 @@ AC_C_CONST
|
||||
dnl ============================================================
|
||||
dnl Compiler features
|
||||
dnl ============================================================
|
||||
AC_TRY_COMPILE([],
|
||||
[
|
||||
_Static_assert (1, "");
|
||||
int
|
||||
main (int argc, char **argv)
|
||||
{
|
||||
return 0;
|
||||
}
|
||||
],
|
||||
[AC_DEFINE([HAVE_STATIC_ASSERT], [1], [Whether _Static_assert can be used or not])])
|
||||
AC_MSG_CHECKING([for _Static_assert])
|
||||
AC_COMPILE_IFELSE([AC_LANG_PROGRAM([_Static_assert (1, "");],
|
||||
[(void) 0])],
|
||||
[AC_DEFINE([HAVE_STATIC_ASSERT], [1],
|
||||
[Whether _Static_assert can be used or not])
|
||||
AC_MSG_RESULT([yes])],
|
||||
[AC_MSG_RESULT([no])])
|
||||
|
||||
dnl ================================================================
|
||||
dnl Libtool stuff.
|
||||
|
Loading…
Reference in New Issue
Block a user