72 lines
1.4 KiB
C
72 lines
1.4 KiB
C
#ifndef _COMPILER_H_
|
|
#define _COMPILER_H_
|
|
|
|
/*
|
|
* Copyright (c) 2014, Mentor Graphics Corporation
|
|
* All rights reserved.
|
|
* Copyright (c) 2016 Freescale Semiconductor, Inc. All rights reserved.
|
|
*
|
|
* SPDX-License-Identifier: BSD-3-Clause
|
|
*/
|
|
|
|
/**************************************************************************
|
|
* FILE NAME
|
|
*
|
|
* compiler.h
|
|
*
|
|
* DESCRIPTION
|
|
*
|
|
* This file defines compiler-specific macros.
|
|
*
|
|
***************************************************************************/
|
|
#if defined __cplusplus
|
|
extern "C" {
|
|
#endif
|
|
|
|
/* IAR ARM build tools */
|
|
#if defined(__ICCARM__)
|
|
|
|
#ifndef OPENAMP_PACKED_BEGIN
|
|
#define OPENAMP_PACKED_BEGIN __packed
|
|
#endif
|
|
|
|
#ifndef OPENAMP_PACKED_END
|
|
#define OPENAMP_PACKED_END
|
|
#endif
|
|
|
|
/* GNUC */
|
|
#elif defined(__GNUC__)
|
|
|
|
#ifndef OPENAMP_PACKED_BEGIN
|
|
#define OPENAMP_PACKED_BEGIN
|
|
#endif
|
|
|
|
#ifndef OPENAMP_PACKED_END
|
|
#define OPENAMP_PACKED_END __attribute__((__packed__))
|
|
#endif
|
|
|
|
/* ARM GCC */
|
|
#elif defined(__CC_ARM)
|
|
|
|
#ifndef OPENAMP_PACKED_BEGIN
|
|
#define OPENAMP_PACKED_BEGIN _Pragma("pack(1U)")
|
|
#endif
|
|
|
|
#ifndef OPENAMP_PACKED_END
|
|
#define OPENAMP_PACKED_END _Pragma("pack()")
|
|
#endif
|
|
|
|
#else
|
|
/*
|
|
* There is no default definition here to avoid wrong structures packing in case
|
|
* of not supported compiler
|
|
*/
|
|
#error Please implement the structure packing macros for your compiler here!
|
|
#endif
|
|
|
|
#if defined __cplusplus
|
|
}
|
|
#endif
|
|
|
|
#endif /* _COMPILER_H_ */
|