llvm-project/clang/utils/TableGen
Michael Han 4a04517329 Refactor Clang sema attribute handling.
This submission improves Clang sema handling by using Clang tablegen
to generate common boilerplate code. As a start, it implements AttributeList
enumerator generation and case statements for AttributeList::getKind.

A new field "SemaHandler" is introduced in Attr.td and by default set to 1
as most of attributes in Attr.td have semantic checking in Sema. For a small
number of attributes that don't appear in Sema, the value is set to 0.

Also there are a small number of attributes that only appear in Sema but not
in Attr.td. Currently these attributes are still hardcoded in Sema AttributeList.

Reviewed by Delesley Hutchins.

llvm-svn: 152169
2012-03-07 00:12:16 +00:00
..
CMakeLists.txt Update the CMake build for clang-tblgen to reflect that it directly 2011-11-02 05:04:43 +00:00
ClangASTNodesEmitter.cpp
ClangASTNodesEmitter.h
ClangAttrEmitter.cpp Refactor Clang sema attribute handling. 2012-03-07 00:12:16 +00:00
ClangAttrEmitter.h Refactor Clang sema attribute handling. 2012-03-07 00:12:16 +00:00
ClangDiagnosticsEmitter.cpp [tablegen] Make sure that the code that is determining the order of warning groups 2012-03-06 00:00:38 +00:00
ClangDiagnosticsEmitter.h
ClangSACheckersEmitter.cpp
ClangSACheckersEmitter.h
Makefile
NeonEmitter.cpp Remove unreachable code in Clang. (replace with llvm_unreachable where appropriate or when GCC requires it) 2012-01-17 06:56:22 +00:00
NeonEmitter.h Clean up type flags for overloaded Neon builtins. No functional change. 2011-11-08 01:16:11 +00:00
OptParserEmitter.cpp
OptParserEmitter.h
TableGen.cpp Refactor Clang sema attribute handling. 2012-03-07 00:12:16 +00:00