]> granicus.if.org Git - clang/commit
Clean up the __has_attribute implementation without modifying its behavior.
authorAaron Ballman <aaron@aaronballman.com>
Thu, 27 Mar 2014 20:19:24 +0000 (20:19 +0000)
committerAaron Ballman <aaron@aaronballman.com>
Thu, 27 Mar 2014 20:19:24 +0000 (20:19 +0000)
commitaf55a6bbeea1c29624830af45fced83349edafa2
tree14ad7d920a15a17a06922d360f519fcadaf0543c
parentebece3658833fd3e7423738fe3a63b7ff4a4fb09
Clean up the __has_attribute implementation without modifying its behavior.

Replaces the tablegen-driven AttrSpellings.inc, which lived in the lexing layer with AttrHasAttributeImpl.inc, which lives in the basic layer. Updates the preprocessor to call through to this new functionality which can take additional information into account (such as scopes and syntaxes).

Expose the ability for parts of the compiler to ask whether an attribute is supported for a given spelling (including scope), syntax, triple and language options.

git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@204952 91177308-0d34-0410-b5e6-96231b3b80d8
13 files changed:
include/clang/Basic/Attributes.h [new file with mode: 0644]
include/clang/Basic/CMakeLists.txt
include/clang/Basic/Makefile
include/clang/CMakeLists.txt
include/clang/Lex/CMakeLists.txt [deleted file]
include/clang/Lex/Makefile [deleted file]
include/clang/Makefile
lib/Basic/Attributes.cpp [new file with mode: 0644]
lib/Basic/CMakeLists.txt
lib/Lex/PPMacroExpansion.cpp
utils/TableGen/ClangAttrEmitter.cpp
utils/TableGen/TableGen.cpp
utils/TableGen/TableGenBackends.h