ProtoCore v1.0.16
Deterministic, zero-heap network stack for embedded targets
Loading...
Searching...
No Matches
compiler_directives.h
Go to the documentation of this file.
1// ProtoCore v1.0.16 - Copyright (C) 2026 Douglas Quigg (dstroy0) <dquigg123@gmail.com>
2// SPDX-License-Identifier: AGPL-3.0-or-later
3
4/**
5 * @file compiler_directives.h
6 * @brief Compiler-specific directives for the ProtoCore library.
7 *
8 * @author Douglas Quigg (dstroy0)
9 * @date 2026
10 */
11
12#ifndef PROTOCORE_COMPILER_DIRECTIVES_H
13#define PROTOCORE_COMPILER_DIRECTIVES_H
14
15/**
16 * @brief Linkage for a leaf primitive whose body is cheaper than the call that reaches it.
17 *
18 * Stated here rather than in protocore_config.h because that header reaches this one through
19 * board_profile.h before it defines anything of its own, so this is the earliest point the
20 * linkage can be settled. protocore_config.h keeps the same definition behind #ifndef, which
21 * covers a translation unit that arrives without this header.
22 */
23#ifndef PROTOCORE_INLINE
24#if defined(__GNUC__)
25#define PROTOCORE_INLINE static inline __attribute__((always_inline))
26#else
27#define PROTOCORE_INLINE static inline
28#endif
29#endif
30
31#endif // PROTOCORE_COMPILER_DIRECTIVES_H