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-gcc.h (1163B)


      1/* SPDX-License-Identifier: GPL-2.0 */
      2#ifndef _TOOLS_LINUX_COMPILER_H_
      3#error "Please don't include <linux/compiler-gcc.h> directly, include <linux/compiler.h> instead."
      4#endif
      5
      6/*
      7 * Common definitions for all gcc versions go here.
      8 */
      9#ifndef GCC_VERSION
     10#define GCC_VERSION (__GNUC__ * 10000		\
     11		     + __GNUC_MINOR__ * 100	\
     12		     + __GNUC_PATCHLEVEL__)
     13#endif
     14
     15#if GCC_VERSION >= 70000 && !defined(__CHECKER__)
     16# define __fallthrough __attribute__ ((fallthrough))
     17#endif
     18
     19#if __has_attribute(__error__)
     20# define __compiletime_error(message) __attribute__((error(message)))
     21#endif
     22
     23/* &a[0] degrades to a pointer: a different type from an array */
     24#define __must_be_array(a)	BUILD_BUG_ON_ZERO(__same_type((a), &(a)[0]))
     25
     26#ifndef __pure
     27#define  __pure		__attribute__((pure))
     28#endif
     29#define  noinline	__attribute__((noinline))
     30#ifndef __packed
     31#define __packed	__attribute__((packed))
     32#endif
     33#ifndef __noreturn
     34#define __noreturn	__attribute__((noreturn))
     35#endif
     36#ifndef __aligned
     37#define __aligned(x)	__attribute__((aligned(x)))
     38#endif
     39#define __printf(a, b)	__attribute__((format(printf, a, b)))
     40#define __scanf(a, b)	__attribute__((format(scanf, a, b)))