/*
 * Copyright (c) 2023 Huawei Device Co., Ltd.
 * Licensed under the Apache License, Version 2.0 (the "License");
 * you may not use this file except in compliance with the License.
 * You may obtain a copy of the License at
 *
 *     http://www.apache.org/licenses/LICENSE-2.0
 *
 * Unless required by applicable law or agreed to in writing, software
 * distributed under the License is distributed on an "AS IS" BASIS,
 * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
 * See the License for the specific language governing permissions and
 * limitations under the License.
 */

/* all possible attribute names from typeattrs.def, funcattrs.def and fieldattrs.def */
ATTR(const)
ATTR(final)
ATTR(generic)
ATTR(implicit)
ATTR(private)
ATTR(protected)
ATTR(public)
ATTR(static)
ATTR(synthetic)
ATTR(used)
ATTR(hiddenapiblack)
ATTR(hiddenapigrey)
#ifdef FUNC_ATTR
ATTR(bridge)
ATTR(constructor)
ATTR(critical_native)
ATTR(declared_synchronized)
ATTR(default)
ATTR(destructor)
ATTR(delete)
ATTR(fast_native)
ATTR(inline)
ATTR(always_inline)
ATTR(noinline)
ATTR(native)
ATTR(strict)
ATTR(varargs)
ATTR(virtual)
ATTR(nosideeffect)
ATTR(pure)
ATTR(noexcept)
ATTR(nodefargeffect)
ATTR(nodefeffect)
ATTR(noretglobal)
ATTR(nothrow_exception)
ATTR(noretarg)
ATTR(noprivate_defeffect)
ATTR(ipaseen)
ATTR(rclocalunowned)
ATTR(callersensitive)
ATTR(weakref)
ATTR(safed)
ATTR(unsafed)
ATTR(noreturn)
#endif
#if defined(FUNC_ATTR) || defined(TYPE_ATTR)
ATTR(abstract)
ATTR(extern)
ATTR(interface)
ATTR(local)
ATTR(optimized)
ATTR(synchronized)
ATTR(weak)
#endif
#if defined(TYPE_ATTR) || defined(FIELD_ATTR)
#include "memory_order_attrs.def"
ATTR(enum)
ATTR(restrict)
ATTR(transient)
ATTR(volatile)
ATTR(rcunowned)
ATTR(rcweak)
ATTR(final_boundary_size)
ATTR(tls_static)
ATTR(tls_dynamic)
#endif
#ifdef TYPE_ATTR
ATTR(annotation)
ATTR(readonly)
ATTR(verified)
ATTR(localrefvar)
ATTR(rcunownedthis)
ATTR(incomplete_array)
ATTR(may_alias)
ATTR(static_init_zero)
ATTR(typedef)
#endif
#ifdef FUNC_ATTR
ATTR(firstarg_return)
ATTR(called_once)
#endif
#ifdef STMT_ATTR
ATTR(insaferegion)
ATTR(mayTailcall)
#endif
ATTR(oneelem_simd)
ATTR(nonnull)
ATTR(section)
ATTR(asmattr)
#if defined(FUNC_ATTR) && !defined(NOCONTENT_ATTR)
ATTR(alias)
ATTR(constructor_priority)
ATTR(destructor_priority)
#endif
#if (defined(TYPE_ATTR) || defined(FIELD_ATTR)) && !defined(NOCONTENT_ATTR)
ATTR(pack)
ATTR(aligned)
#endif
#ifdef FUNC_ATTR
ATTR(initialization)
ATTR(termination)
#endif
#if (defined(FUNC_ATTR) || defined(STMT_ATTR))
ATTR(ccall)
ATTR(webkitjscall)
ATTR(ghcall)
#endif
#if defined(FUNC_ATTR) && !defined(NOCONTENT_ATTR)
ATTR(frame_pointer)
ATTR(frame_reserved_slots)
#endif