1210008Srdivacky//===----- Attr.h - Enum values for C Attribute Kinds ----------*- C++ -*-===//
2210008Srdivacky//
3210008Srdivacky//                     The LLVM Compiler Infrastructure
4210008Srdivacky//
5210008Srdivacky// This file is distributed under the University of Illinois Open Source
6210008Srdivacky// License. See LICENSE.TXT for details.
7210008Srdivacky//
8210008Srdivacky//===----------------------------------------------------------------------===//
9239462Sdim///
10239462Sdim/// \file
11239462Sdim/// \brief Defines the clang::attr::Kind enum.
12239462Sdim///
13210008Srdivacky//===----------------------------------------------------------------------===//
14210008Srdivacky
15210008Srdivacky#ifndef LLVM_CLANG_ATTRKINDS_H
16210008Srdivacky#define LLVM_CLANG_ATTRKINDS_H
17210008Srdivacky
18210008Srdivackynamespace clang {
19210008Srdivacky
20210008Srdivackynamespace attr {
21210008Srdivacky
22239462Sdim// \brief A list of all the recognized kinds of attributes.
23210008Srdivackyenum Kind {
24210008Srdivacky#define ATTR(X) X,
25218893Sdim#define LAST_INHERITABLE_ATTR(X) X, LAST_INHERITABLE = X,
26221345Sdim#define LAST_INHERITABLE_PARAM_ATTR(X) X, LAST_INHERITABLE_PARAM = X,
27249423Sdim#define LAST_MS_INHERITABLE_ATTR(X) X, LAST_MS_INHERITABLE = X,
28210008Srdivacky#include "clang/Basic/AttrList.inc"
29210008Srdivacky  NUM_ATTRS
30210008Srdivacky};
31210008Srdivacky
32210008Srdivacky} // end namespace attr
33210008Srdivacky} // end namespace clang
34210008Srdivacky
35210008Srdivacky#endif
36