[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index] Re: [Xen-devel] [PATCH XTF 1/4] build: Support BUILD_BUG_ON() with compilers lacking _Static_assert()
>>> On 28.09.17 at 14:34, <andrew.cooper3@xxxxxxxxxx> wrote: > On 28/09/17 13:32, Jan Beulich wrote: >>>>> On 28.09.17 at 12:59, <andrew.cooper3@xxxxxxxxxx> wrote: >>> --- /dev/null >>> +++ b/include/xtf/compiler-gcc.h >>> @@ -0,0 +1,31 @@ >>> +#ifndef XTF_COMPILER_GCC_H >>> +#define XTF_COMPILER_GCC_H >>> + >>> +#define GCC_VER (__GNUC__ * 10000 + \ >>> + __GNUC_MINOR__ * 100 + \ >>> + __GNUC_PATCHLEVEL__) >>> + >>> +/* >>> + * The Clang __has_*() infrastructure is a very clean way to identify >>> + * compiler support, without resorting to version checks. Fake up >>> + * enough support for XTF code to use, even on non-clang compilers. >>> + */ >>> + >>> +#ifndef __has_extension >>> + >>> +#define GCC_HAS_c_static_assert (GCC_VER >= 40600) /* _Static_assert() */ >>> + >>> +#define __has_extension(x) GCC_HAS_ ## x >> As always I'd recommend against underscore prefixed names. > > In this case, its a Clang feature which I'm deliberately trying to use. > > https://clang.llvm.org/docs/LanguageExtensions.html#feature-checking-macros Oh, sorry, should have paid closer attention to the comment. But wouldn't it still be better to define has_extension(), simply evaluating to _has_extension() for clang? Jan _______________________________________________ Xen-devel mailing list Xen-devel@xxxxxxxxxxxxx https://lists.xen.org/xen-devel
|
Lists.xenproject.org is hosted with RackSpace, monitoring our |