forked from OSchip/llvm-project
4086fe5cd1
Summary: When Sema looks up an attribute name, it strips off leading and trailing "__" if the attribute is GNU-style. That is, __attribute__((foo)) and __attribute__((__foo__)) are equivalent. This is only true for GNU-style attributes. In particular, __declspec(__foo__) is not equivalent to __declspec(foo), and Sema respects this difference. This patch fixes TableGen to match Sema's behavior. The spelling 'GNU<"__foo__">' should be normalized to 'GNU<"foo">', but 'Declspec<"__foo__">' should not be changed. This is necessary to make CUDA compilation work on Windows, because e.g. the __device__ attribute is spelled __declspec(__device__). Attr.td does not contain any Declspec spellings that start or end with "__", so this change should not affect any other attributes. Reviewers: rnk Subscribers: cfe-commits, tra Differential Revision: https://reviews.llvm.org/D28318 llvm-svn: 291129 |
||
---|---|---|
.. | ||
CMakeLists.txt | ||
ClangASTNodesEmitter.cpp | ||
ClangAttrEmitter.cpp | ||
ClangCommentCommandInfoEmitter.cpp | ||
ClangCommentHTMLNamedCharacterReferenceEmitter.cpp | ||
ClangCommentHTMLTagsEmitter.cpp | ||
ClangDiagnosticsEmitter.cpp | ||
ClangSACheckersEmitter.cpp | ||
NeonEmitter.cpp | ||
TableGen.cpp | ||
TableGenBackends.h |