root/include/acpi/platform/acgcc.h

/* [<][>][^][v][top][bottom][index][help] */

INCLUDED FROM


   1 /* SPDX-License-Identifier: BSD-3-Clause OR GPL-2.0 */
   2 /******************************************************************************
   3  *
   4  * Name: acgcc.h - GCC specific defines, etc.
   5  *
   6  * Copyright (C) 2000 - 2019, Intel Corp.
   7  *
   8  *****************************************************************************/
   9 
  10 #ifndef __ACGCC_H__
  11 #define __ACGCC_H__
  12 
  13 /*
  14  * Use compiler specific <stdarg.h> is a good practice for even when
  15  * -nostdinc is specified (i.e., ACPI_USE_STANDARD_HEADERS undefined.
  16  */
  17 #ifndef va_arg
  18 #ifdef ACPI_USE_BUILTIN_STDARG
  19 typedef __builtin_va_list va_list;
  20 #define va_start(v, l)          __builtin_va_start(v, l)
  21 #define va_end(v)               __builtin_va_end(v)
  22 #define va_arg(v, l)            __builtin_va_arg(v, l)
  23 #define va_copy(d, s)           __builtin_va_copy(d, s)
  24 #else
  25 #include <stdarg.h>
  26 #endif
  27 #endif
  28 
  29 #define ACPI_INLINE             __inline__
  30 
  31 /* Function name is used for debug output. Non-ANSI, compiler-dependent */
  32 
  33 #define ACPI_GET_FUNCTION_NAME          __func__
  34 
  35 /*
  36  * This macro is used to tag functions as "printf-like" because
  37  * some compilers (like GCC) can catch printf format string problems.
  38  */
  39 #define ACPI_PRINTF_LIKE(c) __attribute__ ((__format__ (__printf__, c, c+1)))
  40 
  41 /*
  42  * Some compilers complain about unused variables. Sometimes we don't want to
  43  * use all the variables (for example, _acpi_module_name). This allows us
  44  * to tell the compiler warning in a per-variable manner that a variable
  45  * is unused.
  46  */
  47 #define ACPI_UNUSED_VAR __attribute__ ((unused))
  48 
  49 /* GCC supports __VA_ARGS__ in macros */
  50 
  51 #define COMPILER_VA_MACRO               1
  52 
  53 /* GCC supports native multiply/shift on 32-bit platforms */
  54 
  55 #define ACPI_USE_NATIVE_MATH64
  56 
  57 #endif                          /* __ACGCC_H__ */

/* [<][>][^][v][top][bottom][index][help] */