cachepc-linux

Fork of AMDESE/linux with modifications for CachePC side-channel attack
git clone https://git.sinitax.com/sinitax/cachepc-linux
Log | Files | Refs | README | LICENSE | sfeed.txt

compiler_types.h (1043B)


      1/* SPDX-License-Identifier: GPL-2.0 */
      2#ifndef __LINUX_COMPILER_TYPES_H
      3#define __LINUX_COMPILER_TYPES_H
      4
      5/* Builtins */
      6
      7/*
      8 * __has_builtin is supported on gcc >= 10, clang >= 3 and icc >= 21.
      9 * In the meantime, to support gcc < 10, we implement __has_builtin
     10 * by hand.
     11 */
     12#ifndef __has_builtin
     13#define __has_builtin(x) (0)
     14#endif
     15
     16#ifdef __CHECKER__
     17/* context/locking */
     18# define __must_hold(x)	__attribute__((context(x,1,1)))
     19# define __acquires(x)	__attribute__((context(x,0,1)))
     20# define __releases(x)	__attribute__((context(x,1,0)))
     21# define __acquire(x)	__context__(x,1)
     22# define __release(x)	__context__(x,-1)
     23# define __cond_lock(x,c)	((c) ? ({ __acquire(x); 1; }) : 0)
     24#else /* __CHECKER__ */
     25/* context/locking */
     26# define __must_hold(x)
     27# define __acquires(x)
     28# define __releases(x)
     29# define __acquire(x)	(void)0
     30# define __release(x)	(void)0
     31# define __cond_lock(x,c) (c)
     32#endif /* __CHECKER__ */
     33
     34/* Compiler specific macros. */
     35#ifdef __GNUC__
     36#include <linux/compiler-gcc.h>
     37#endif
     38
     39#endif /* __LINUX_COMPILER_TYPES_H */