Elliott Hughes | 13da600 | 2025-02-03 10:42:13 -0800 | [diff] [blame] | 1 | // Copyright (C) 2017 The Android Open Source Project |
| 2 | // SPDX-License-Identifier: BSD-2-Clause |
Elliott Hughes | 21b56eb | 2017-10-20 17:57:17 -0700 | [diff] [blame] | 3 | |
| 4 | #define FUNCTION(f_, t_) { t_ = f_; } |
| 5 | #define MACRO(m_) { typeof(m_) v = m_; } |
| 6 | #define MACRO_VALUE(m_, v_) _Static_assert((m_)==(v_),#m_) |
| 7 | #define MACRO_TYPE(t_, m_) { t_ v = m_; } |
| 8 | #define TYPE(t_) { t_ value; } |
| 9 | #define INCOMPLETE_TYPE(t_) { t_* value; } |
| 10 | #define STRUCT_MEMBER(s_, t_, n_) { s_ s; t_* ptr = &(s.n_); } |
| 11 | #define STRUCT_MEMBER_ARRAY(s_, t_, n_) { s_ s; t_* ptr = &(s.n_[0]); } |
| 12 | #define STRUCT_MEMBER_FUNCTION_POINTER(s_, t_, n_) { s_ s; t_ = (s.n_); } |