[PATCH v2 8/8] configure: Remove probe for _Static_assert

Richard Henderson posted 8 patches 4 years, 8 months ago
Maintainers: "Alex Bennée" <alex.bennee@linaro.org>, Aurelien Jarno <aurelien@aurel32.net>, Paolo Bonzini <pbonzini@redhat.com>, Stefan Weil <sw@weilnetz.de>, Peter Maydell <peter.maydell@linaro.org>
[PATCH v2 8/8] configure: Remove probe for _Static_assert
Posted by Richard Henderson 4 years, 8 months ago
_Static_assert is part of C11, which is now required.

Signed-off-by: Richard Henderson <richard.henderson@linaro.org>
---
 configure               | 18 ------------------
 include/qemu/compiler.h | 11 -----------
 2 files changed, 29 deletions(-)

diff --git a/configure b/configure
index 0489864667..debd50c085 100755
--- a/configure
+++ b/configure
@@ -5090,20 +5090,6 @@ if compile_prog "" "" ; then
     have_sysmacros=yes
 fi
 
-##########################################
-# check for _Static_assert()
-
-have_static_assert=no
-cat > $TMPC << EOF
-_Static_assert(1, "success");
-int main(void) {
-    return 0;
-}
-EOF
-if compile_prog "" "" ; then
-    have_static_assert=yes
-fi
-
 ##########################################
 # check for utmpx.h, it is missing e.g. on OpenBSD
 
@@ -6035,10 +6021,6 @@ if test "$have_sysmacros" = "yes" ; then
   echo "CONFIG_SYSMACROS=y" >> $config_host_mak
 fi
 
-if test "$have_static_assert" = "yes" ; then
-  echo "CONFIG_STATIC_ASSERT=y" >> $config_host_mak
-fi
-
 if test "$have_utmpx" = "yes" ; then
   echo "HAVE_UTMPX=y" >> $config_host_mak
 fi
diff --git a/include/qemu/compiler.h b/include/qemu/compiler.h
index 5766d61589..3baa5e3790 100644
--- a/include/qemu/compiler.h
+++ b/include/qemu/compiler.h
@@ -72,18 +72,7 @@
         int:(x) ? -1 : 1; \
     }
 
-/* QEMU_BUILD_BUG_MSG() emits the message given if _Static_assert is
- * supported; otherwise, it will be omitted from the compiler error
- * message (but as it remains present in the source code, it can still
- * be useful when debugging). */
-#if defined(CONFIG_STATIC_ASSERT)
 #define QEMU_BUILD_BUG_MSG(x, msg) _Static_assert(!(x), msg)
-#elif defined(__COUNTER__)
-#define QEMU_BUILD_BUG_MSG(x, msg) typedef QEMU_BUILD_BUG_ON_STRUCT(x) \
-    glue(qemu_build_bug_on__, __COUNTER__) __attribute__((unused))
-#else
-#define QEMU_BUILD_BUG_MSG(x, msg)
-#endif
 
 #define QEMU_BUILD_BUG_ON(x) QEMU_BUILD_BUG_MSG(x, "not expecting: " #x)
 
-- 
2.25.1


Re: [PATCH v2 8/8] configure: Remove probe for _Static_assert
Posted by Alex Bennée 4 years, 8 months ago
Richard Henderson <richard.henderson@linaro.org> writes:

> _Static_assert is part of C11, which is now required.
>
> Signed-off-by: Richard Henderson <richard.henderson@linaro.org>

Reviewed-by: Alex Bennée <alex.bennee@linaro.org>

-- 
Alex Bennée

Re: [PATCH v2 8/8] configure: Remove probe for _Static_assert
Posted by Thomas Huth 4 years, 8 months ago
On 15/06/2021 01.31, Richard Henderson wrote:
> _Static_assert is part of C11, which is now required.
> 
> Signed-off-by: Richard Henderson <richard.henderson@linaro.org>
> ---
>   configure               | 18 ------------------
>   include/qemu/compiler.h | 11 -----------
>   2 files changed, 29 deletions(-)
> 
> diff --git a/configure b/configure
> index 0489864667..debd50c085 100755
> --- a/configure
> +++ b/configure
> @@ -5090,20 +5090,6 @@ if compile_prog "" "" ; then
>       have_sysmacros=yes
>   fi
>   
> -##########################################
> -# check for _Static_assert()
> -
> -have_static_assert=no
> -cat > $TMPC << EOF
> -_Static_assert(1, "success");
> -int main(void) {
> -    return 0;
> -}
> -EOF
> -if compile_prog "" "" ; then
> -    have_static_assert=yes
> -fi
> -
>   ##########################################
>   # check for utmpx.h, it is missing e.g. on OpenBSD
>   
> @@ -6035,10 +6021,6 @@ if test "$have_sysmacros" = "yes" ; then
>     echo "CONFIG_SYSMACROS=y" >> $config_host_mak
>   fi
>   
> -if test "$have_static_assert" = "yes" ; then
> -  echo "CONFIG_STATIC_ASSERT=y" >> $config_host_mak
> -fi
> -
>   if test "$have_utmpx" = "yes" ; then
>     echo "HAVE_UTMPX=y" >> $config_host_mak
>   fi
> diff --git a/include/qemu/compiler.h b/include/qemu/compiler.h
> index 5766d61589..3baa5e3790 100644
> --- a/include/qemu/compiler.h
> +++ b/include/qemu/compiler.h
> @@ -72,18 +72,7 @@
>           int:(x) ? -1 : 1; \
>       }
>   
> -/* QEMU_BUILD_BUG_MSG() emits the message given if _Static_assert is
> - * supported; otherwise, it will be omitted from the compiler error
> - * message (but as it remains present in the source code, it can still
> - * be useful when debugging). */
> -#if defined(CONFIG_STATIC_ASSERT)
>   #define QEMU_BUILD_BUG_MSG(x, msg) _Static_assert(!(x), msg)
> -#elif defined(__COUNTER__)
> -#define QEMU_BUILD_BUG_MSG(x, msg) typedef QEMU_BUILD_BUG_ON_STRUCT(x) \
> -    glue(qemu_build_bug_on__, __COUNTER__) __attribute__((unused))
> -#else
> -#define QEMU_BUILD_BUG_MSG(x, msg)
> -#endif
>   
>   #define QEMU_BUILD_BUG_ON(x) QEMU_BUILD_BUG_MSG(x, "not expecting: " #x)

Reviewed-by: Thomas Huth <thuth@redhat.com>