summaryrefslogtreecommitdiffstats
path: root/include/clang/Basic/AttrKinds.h
diff options
context:
space:
mode:
authorSean Hunt <rideau3@gmail.com>2010-06-16 23:43:53 +0000
committerSean Hunt <rideau3@gmail.com>2010-06-16 23:43:53 +0000
commit387475d0c18aaeb022108de9d33b6c9fb7998843 (patch)
tree59fb00f350313e5229bfa01e465c3c2da30a631b /include/clang/Basic/AttrKinds.h
parentf13ca06e57ac094ed05ea08c26a499af1ba0ce88 (diff)
Implement first TD-based usage of attributes.
Currently, there are two effective changes: - Attr::Kind has been changed to attr::Kind, in a separate namespace rather than the Attr class. This is because the enumerator needs to be visible to parse. - The class definitions for the C++0x attributes other than aligned are generated by TableGen. The specific classes generated by TableGen are controlled by an array in TableGen (see the accompanying commit to the LLVM repository). I will be expanding the amount of code generated as I develop the new attributes system while initially keeping it confined to these attributes. git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@106172 91177308-0d34-0410-b5e6-96231b3b80d8
Diffstat (limited to 'include/clang/Basic/AttrKinds.h')
-rw-r--r--include/clang/Basic/AttrKinds.h31
1 files changed, 31 insertions, 0 deletions
diff --git a/include/clang/Basic/AttrKinds.h b/include/clang/Basic/AttrKinds.h
new file mode 100644
index 0000000000..822573b734
--- /dev/null
+++ b/include/clang/Basic/AttrKinds.h
@@ -0,0 +1,31 @@
+//===----- Attr.h - Enum values for C Attribute Kinds ----------*- C++ -*-===//
+//
+// The LLVM Compiler Infrastructure
+//
+// This file is distributed under the University of Illinois Open Source
+// License. See LICENSE.TXT for details.
+//
+//===----------------------------------------------------------------------===//
+//
+// This file defines the attr::Kind enum
+//
+//===----------------------------------------------------------------------===//
+
+#ifndef LLVM_CLANG_ATTRKINDS_H
+#define LLVM_CLANG_ATTRKINDS_H
+
+namespace clang {
+
+namespace attr {
+
+// Kind - This is a list of all the recognized kinds of attributes.
+enum Kind {
+#define ATTR(X) X,
+#include "clang/Basic/AttrList.inc"
+ NUM_ATTRS
+};
+
+} // end namespace attr
+} // end namespace clang
+
+#endif