Zephyr Project API 4.4.99
A Scalable Open Source RTOS
Loading...
Searching...
No Matches
iar.h
Go to the documentation of this file.
1/*
2 * Copyright (c) 2025 IAR Systems AB
3 *
4 * SPDX-License-Identifier: Apache-2.0
5 */
6
7#ifndef ZEPHYR_INCLUDE_TOOLCHAIN_IAR_H_
8#define ZEPHYR_INCLUDE_TOOLCHAIN_IAR_H_
9
10#ifndef ZEPHYR_INCLUDE_TOOLCHAIN_H_
11#error Please do not include toolchain-specific headers directly, use <zephyr/toolchain.h> instead
12#endif
13
14#define TOOLCHAIN_HAS_PRAGMA_DIAG 1
15
16#define _TOOLCHAIN_DISABLE_WARNING(warning) TOOLCHAIN_PRAGMA(diag_suppress = warning)
17#define _TOOLCHAIN_ENABLE_WARNING(warning) TOOLCHAIN_PRAGMA(diag_default = warning)
18
19#define TOOLCHAIN_DISABLE_WARNING(warning) _TOOLCHAIN_DISABLE_WARNING(warning)
20#define TOOLCHAIN_ENABLE_WARNING(warning) _TOOLCHAIN_ENABLE_WARNING(warning)
21
22#define TOOLCHAIN_DISABLE_IAR_WARNING(warning) _TOOLCHAIN_DISABLE_WARNING(warning)
23#define TOOLCHAIN_ENABLE_IAR_WARNING(warning) _TOOLCHAIN_ENABLE_WARNING(warning)
24
25/* Generic warnings */
26
27
35#ifndef TOOLCHAIN_WARNING_ADDRESS_OF_PACKED_MEMBER
36#define TOOLCHAIN_WARNING_ADDRESS_OF_PACKED_MEMBER Pa039
37#endif
38
46#ifndef TOOLCHAIN_WARNING_ARRAY_BOUNDS
47#define TOOLCHAIN_WARNING_ARRAY_BOUNDS Pe001
48#endif
49
57#ifndef TOOLCHAIN_WARNING_ATTRIBUTES
58#define TOOLCHAIN_WARNING_ATTRIBUTES Pe1097
59#endif
60
69#ifndef TOOLCHAIN_WARNING_DELETE_NON_VIRTUAL_DTOR
70#define TOOLCHAIN_WARNING_DELETE_NON_VIRTUAL_DTOR Pe001
71#endif
72
80#ifndef TOOLCHAIN_WARNING_DEPRECATED_DECLARATIONS
81#define TOOLCHAIN_WARNING_DEPRECATED_DECLARATIONS Pe1215
82#endif
83
91#ifndef TOOLCHAIN_WARNING_EXTRA
92#define TOOLCHAIN_WARNING_EXTRA Pe001
93#endif
94
102#ifndef TOOLCHAIN_WARNING_NONNULL
103#define TOOLCHAIN_WARNING_NONNULL Pe001
104#endif
105
113#ifndef TOOLCHAIN_WARNING_POINTER_ARITH
114#define TOOLCHAIN_WARNING_POINTER_ARITH Pe1143
115#endif
116
124#ifndef TOOLCHAIN_WARNING_SHADOW
125#define TOOLCHAIN_WARNING_SHADOW Pe001
126#endif
127
135#ifndef TOOLCHAIN_WARNING_UNUSED_LABEL
136#define TOOLCHAIN_WARNING_UNUSED_LABEL Pe001
137#endif
138
146#define TOOLCHAIN_WARNING_UNUSED_VARIABLE Pe001
147
148#define TOOLCHAIN_WARNING_UNUSED_FUNCTION Pe001
149
150#ifdef __ICCARM__
151#include "iar/iccarm.h"
152#endif
153
154#endif /* ZEPHYR_INCLUDE_TOOLCHAIN_IAR_H_ */
ICCARM toolchain abstraction.