1 /* SPDX-License-Identifier: GPL-2.0 */ 2 /* Copyright (c) 2019 Facebook */ 3 #ifndef __ASM_GOTO_WORKAROUND_H 4 #define __ASM_GOTO_WORKAROUND_H 5 6 /* 7 * This will bring in asm_goto_output and asm_inline macro definitions 8 * if enabled by compiler and config options. 9 */ 10 #include <linux/types.h> 11 12 #ifdef asm_goto_output 13 #undef asm_goto_output 14 #define asm_goto_output(x...) asm volatile("invalid use of asm_goto_output") 15 #endif 16 17 /* 18 * asm_inline is defined as asm __inline in "include/linux/compiler_types.h" 19 * if supported by the kernel's CC (i.e CONFIG_CC_HAS_ASM_INLINE) which is not 20 * supported by CLANG. 21 */ 22 #ifdef asm_inline 23 #undef asm_inline 24 #define asm_inline asm 25 #endif 26 27 #define volatile(x...) volatile("") 28 #endif 29
Linux® is a registered trademark of Linus Torvalds in the United States and other countries.
TOMOYO® is a registered trademark of NTT DATA CORPORATION.