libpayload: Replace include/compiler.h with commonlib/bsd's version
This ensures that it's available under BSD license terms. Change-Id: Ica13014b847473fee02516be0b27684c6cfb07bc Signed-off-by: Patrick Georgi <pgeorgi@google.com> Reviewed-on: https://review.coreboot.org/c/coreboot/+/43964 Reviewed-by: Angel Pons <th3fanbus@gmail.com> Tested-by: build bot (Jenkins) <no-reply@coreboot.org>
This commit is contained in:
parent
afeb7b3f68
commit
ae010c619f
|
@ -1,29 +1,39 @@
|
|||
/*
|
||||
*
|
||||
* Copyright 2017 Google Inc.
|
||||
*
|
||||
* This program is free software; you can redistribute it and/or modify
|
||||
* it under the terms of the GNU General Public License as published by
|
||||
* the Free Software Foundation; version 2 of the License.
|
||||
*
|
||||
* This program is distributed in the hope that it will be useful,
|
||||
* but WITHOUT ANY WARRANTY; without even the implied warranty of
|
||||
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
|
||||
* GNU General Public License for more details.
|
||||
*/
|
||||
/* SPDX-License-Identifier: BSD-3-Clause OR GPL-2.0-only */
|
||||
|
||||
#ifndef __COMPILER_H__
|
||||
#define __COMPILER_H__
|
||||
#ifndef _COMMONLIB_BSD_COMPILER_H_
|
||||
#define _COMMONLIB_BSD_COMPILER_H_
|
||||
|
||||
#ifndef __packed
|
||||
#if defined(__WIN32) || defined(__WIN64)
|
||||
#define __packed __attribute__((gcc_struct, packed))
|
||||
#else
|
||||
#define __packed __attribute__((packed))
|
||||
#endif
|
||||
#endif
|
||||
|
||||
#ifndef __aligned
|
||||
#define __aligned(x) __attribute__((aligned(x)))
|
||||
#endif
|
||||
|
||||
#ifndef __always_unused
|
||||
#define __always_unused __attribute__((unused))
|
||||
#endif
|
||||
|
||||
#ifndef __must_check
|
||||
#define __must_check __attribute__((warn_unused_result))
|
||||
#endif
|
||||
|
||||
#ifndef __weak
|
||||
#define __weak __attribute__((weak))
|
||||
#endif
|
||||
|
||||
#ifndef __noreturn
|
||||
#define __noreturn __attribute__((noreturn))
|
||||
#endif
|
||||
|
||||
#ifndef __always_inline
|
||||
#define __always_inline inline __attribute__((always_inline))
|
||||
#endif
|
||||
|
||||
/* This evaluates to the type of the first expression, unless that is constant
|
||||
in which case it evalutates to the type of the second. This is useful when
|
||||
|
@ -32,7 +42,7 @@
|
|||
literals. By using this macro, the promotion can happen at the time the
|
||||
literal is assigned to the temporary variable. If the literal doesn't fit in
|
||||
the chosen type, -Werror=overflow will catch it, so this should be safe. */
|
||||
#define __TYPEOF_UNLESS_CONST(expr, fallback_expr) typeof( \
|
||||
#define __TYPEOF_UNLESS_CONST(expr, fallback_expr) __typeof__( \
|
||||
__builtin_choose_expr(__builtin_constant_p(expr), fallback_expr, expr))
|
||||
|
||||
/* This creates a unique local variable name for use in macros. */
|
||||
|
|
Loading…
Reference in New Issue