blob: 9730d585ef0f02f174e40f542190ed29ac694fd3 [file] [log] [blame]
Elliott Hughes13da6002025-02-03 10:42:13 -08001// Copyright (C) 2017 The Android Open Source Project
2// SPDX-License-Identifier: BSD-2-Clause
Elliott Hughes21b56eb2017-10-20 17:57:17 -07003
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_); }