xref: /llvm-project/clang/include/clang/Basic/AttrKinds.h (revision 2946cd701067404b99c39fb29dc9c74bd7193eb3)
1344393e9SAlexis Hunt //===----- Attr.h - Enum values for C Attribute Kinds ----------*- C++ -*-===//
2344393e9SAlexis Hunt //
3*2946cd70SChandler Carruth // Part of the LLVM Project, under the Apache License v2.0 with LLVM Exceptions.
4*2946cd70SChandler Carruth // See https://llvm.org/LICENSE.txt for license information.
5*2946cd70SChandler Carruth // SPDX-License-Identifier: Apache-2.0 WITH LLVM-exception
6344393e9SAlexis Hunt //
7344393e9SAlexis Hunt //===----------------------------------------------------------------------===//
89784d093SJames Dennett ///
99784d093SJames Dennett /// \file
109fc8faf9SAdrian Prantl /// Defines the clang::attr::Kind enum.
119784d093SJames Dennett ///
12344393e9SAlexis Hunt //===----------------------------------------------------------------------===//
13344393e9SAlexis Hunt 
142f5db8b3SBenjamin Kramer #ifndef LLVM_CLANG_BASIC_ATTRKINDS_H
152f5db8b3SBenjamin Kramer #define LLVM_CLANG_BASIC_ATTRKINDS_H
16344393e9SAlexis Hunt 
17344393e9SAlexis Hunt namespace clang {
18344393e9SAlexis Hunt 
19344393e9SAlexis Hunt namespace attr {
20344393e9SAlexis Hunt 
219fc8faf9SAdrian Prantl // A list of all the recognized kinds of attributes.
22344393e9SAlexis Hunt enum Kind {
23344393e9SAlexis Hunt #define ATTR(X) X,
242225c8b2SJohn McCall #define ATTR_RANGE(CLASS, FIRST_NAME, LAST_NAME) \
252225c8b2SJohn McCall   First##CLASS = FIRST_NAME,                    \
262225c8b2SJohn McCall   Last##CLASS = LAST_NAME,
27344393e9SAlexis Hunt #include "clang/Basic/AttrList.inc"
28344393e9SAlexis Hunt };
29344393e9SAlexis Hunt 
30344393e9SAlexis Hunt } // end namespace attr
31344393e9SAlexis Hunt } // end namespace clang
32344393e9SAlexis Hunt 
33344393e9SAlexis Hunt #endif
34