2018-03-15 02:13:07 +03:00
/* SPDX-License-Identifier: BSD-3-Clause OR GPL-2.0 */
2005-04-17 02:20:36 +04:00
/******************************************************************************
*
* Name : acgcc . h - GCC specific defines , etc .
*
2020-01-10 22:31:49 +03:00
* Copyright ( C ) 2000 - 2020 , Intel Corp .
2005-04-17 02:20:36 +04:00
*
2018-03-15 02:13:07 +03:00
* * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * */
2005-04-17 02:20:36 +04:00
# ifndef __ACGCC_H__
# define __ACGCC_H__
2016-08-04 11:44:38 +03:00
/*
* Use compiler specific < stdarg . h > is a good practice for even when
* - nostdinc is specified ( i . e . , ACPI_USE_STANDARD_HEADERS undefined .
*/
2017-06-05 11:39:56 +03:00
# ifndef va_arg
# ifdef ACPI_USE_BUILTIN_STDARG
typedef __builtin_va_list va_list ;
# define va_start(v, l) __builtin_va_start(v, l)
# define va_end(v) __builtin_va_end(v)
# define va_arg(v, l) __builtin_va_arg(v, l)
# define va_copy(d, s) __builtin_va_copy(d, s)
# else
2016-08-04 11:44:38 +03:00
# include <stdarg.h>
2017-06-05 11:39:56 +03:00
# endif
# endif
2016-08-04 11:44:38 +03:00
2010-09-15 09:36:55 +04:00
# define ACPI_INLINE __inline__
2005-07-08 08:00:00 +04:00
/* Function name is used for debug output. Non-ANSI, compiler-dependent */
2008-10-16 09:01:24 +04:00
# define ACPI_GET_FUNCTION_NAME __func__
2005-07-08 08:00:00 +04:00
2006-01-28 00:43:00 +03:00
/*
* This macro is used to tag functions as " printf-like " because
2005-04-17 02:20:36 +04:00
* some compilers ( like GCC ) can catch printf format string problems .
*/
2006-01-28 00:43:00 +03:00
# define ACPI_PRINTF_LIKE(c) __attribute__ ((__format__ (__printf__, c, c+1)))
2005-04-17 02:20:36 +04:00
2006-01-28 00:43:00 +03:00
/*
* Some compilers complain about unused variables . Sometimes we don ' t want to
2005-07-08 08:00:00 +04:00
* use all the variables ( for example , _acpi_module_name ) . This allows us
2009-07-16 19:13:03 +04:00
* to tell the compiler warning in a per - variable manner that a variable
2005-04-17 02:20:36 +04:00
* is unused .
*/
# define ACPI_UNUSED_VAR __attribute__ ((unused))
2015-07-01 09:43:43 +03:00
/* GCC supports __VA_ARGS__ in macros */
# define COMPILER_VA_MACRO 1
2017-08-03 09:26:50 +03:00
/* GCC supports native multiply/shift on 32-bit platforms */
# define ACPI_USE_NATIVE_MATH64
2005-08-05 08:44:28 +04:00
# endif /* __ACGCC_H__ */