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