aboutsummaryrefslogtreecommitdiff
path: root/include/clang
diff options
context:
space:
mode:
authorAnders Carlsson <andersca@mac.com>2010-10-20 02:31:43 +0000
committerAnders Carlsson <andersca@mac.com>2010-10-20 02:31:43 +0000
commitcae5095c116c29a4e52c91fa0ad88df09dd2b45f (patch)
tree0edd3015a3b1a42dc4e51ce7e1c565924b880597 /include/clang
parent06ff47b0bbd6d311745010bf4d83ff394502ac0e (diff)
Add a __has_attribute macro that works much like __has_feature and __has_builtin.
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@116906 91177308-0d34-0410-b5e6-96231b3b80d8
Diffstat (limited to 'include/clang')
-rw-r--r--include/clang/CMakeLists.txt1
-rw-r--r--include/clang/Lex/CMakeLists.txt6
-rw-r--r--include/clang/Lex/Makefile13
-rw-r--r--include/clang/Lex/Preprocessor.h1
-rw-r--r--include/clang/Makefile2
5 files changed, 22 insertions, 1 deletions
diff --git a/include/clang/CMakeLists.txt b/include/clang/CMakeLists.txt
index e82cf429ee..375ae5bdab 100644
--- a/include/clang/CMakeLists.txt
+++ b/include/clang/CMakeLists.txt
@@ -1,4 +1,5 @@
add_subdirectory(AST)
add_subdirectory(Basic)
add_subdirectory(Driver)
+add_subdirectory(Lex)
add_subdirectory(Serialization)
diff --git a/include/clang/Lex/CMakeLists.txt b/include/clang/Lex/CMakeLists.txt
new file mode 100644
index 0000000000..b823e83f90
--- /dev/null
+++ b/include/clang/Lex/CMakeLists.txt
@@ -0,0 +1,6 @@
+set(LLVM_TARGET_DEFINITIONS ../Basic/Attr.td)
+tablegen(AttrSpellings.inc
+ -gen-clang-attr-spelling-list
+ -I ${CMAKE_CURRENT_SOURCE_DIR}/../../)
+add_custom_target(ClangAttrSpellings
+ DEPENDS AttrSpellings.inc)
diff --git a/include/clang/Lex/Makefile b/include/clang/Lex/Makefile
new file mode 100644
index 0000000000..9874bcffb3
--- /dev/null
+++ b/include/clang/Lex/Makefile
@@ -0,0 +1,13 @@
+CLANG_LEVEL := ../../..
+TD_SRC_DIR = $(PROJ_SRC_DIR)/../Basic
+BUILT_SOURCES = AttrSpellings.inc
+
+TABLEGEN_INC_FILES_COMMON = 1
+
+include $(CLANG_LEVEL)/Makefile
+
+$(ObjDir)/AttrSpellings.inc.tmp : $(TD_SRC_DIR)/Attr.td $(TBLGEN) \
+ $(ObjDir)/.dir
+ $(Echo) "Building Clang attribute spellings with tblgen"
+ $(Verb) $(TableGen) -gen-clang-attr-spelling-list -o $(call SYSPATH, $@) \
+ -I $(PROJ_SRC_DIR)/../../ $<
diff --git a/include/clang/Lex/Preprocessor.h b/include/clang/Lex/Preprocessor.h
index 42e2daac2f..1ee0fec1c5 100644
--- a/include/clang/Lex/Preprocessor.h
+++ b/include/clang/Lex/Preprocessor.h
@@ -83,6 +83,7 @@ class Preprocessor {
IdentifierInfo *Ident__VA_ARGS__; // __VA_ARGS__
IdentifierInfo *Ident__has_feature; // __has_feature
IdentifierInfo *Ident__has_builtin; // __has_builtin
+ IdentifierInfo *Ident__has_attribute; // __has_attribute
IdentifierInfo *Ident__has_include; // __has_include
IdentifierInfo *Ident__has_include_next; // __has_include_next
diff --git a/include/clang/Makefile b/include/clang/Makefile
index 030b0720fd..d6b9844285 100644
--- a/include/clang/Makefile
+++ b/include/clang/Makefile
@@ -1,5 +1,5 @@
CLANG_LEVEL := ../..
-DIRS := AST Basic Driver Serialization
+DIRS := AST Basic Driver Lex Serialization
include $(CLANG_LEVEL)/Makefile