r353690 - [libclang] Add attribute support for 'convergent'.
Sven van Haastregt via cfe-commits
cfe-commits at lists.llvm.org
Mon Feb 11 03:00:57 PST 2019
Author: svenvh
Date: Mon Feb 11 03:00:56 2019
New Revision: 353690
URL: http://llvm.org/viewvc/llvm-project?rev=353690&view=rev
Log:
[libclang] Add attribute support for 'convergent'.
This bumps CINDEX_VERSION_MINOR up (to 51).
Patch by Hsin-Hsiao Lin.
Differential Revision: https://reviews.llvm.org/D57946
Modified:
cfe/trunk/bindings/python/clang/cindex.py
cfe/trunk/include/clang-c/Index.h
cfe/trunk/test/Index/attributes.c
cfe/trunk/tools/libclang/CIndex.cpp
cfe/trunk/tools/libclang/CXCursor.cpp
Modified: cfe/trunk/bindings/python/clang/cindex.py
URL: http://llvm.org/viewvc/llvm-project/cfe/trunk/bindings/python/clang/cindex.py?rev=353690&r1=353689&r2=353690&view=diff
==============================================================================
--- cfe/trunk/bindings/python/clang/cindex.py (original)
+++ cfe/trunk/bindings/python/clang/cindex.py Mon Feb 11 03:00:56 2019
@@ -1342,6 +1342,7 @@ CursorKind.VISIBILITY_ATTR = CursorKind(
CursorKind.DLLEXPORT_ATTR = CursorKind(418)
CursorKind.DLLIMPORT_ATTR = CursorKind(419)
+CursorKind.CONVERGENT_ATTR = CursorKind(420)
###
# Preprocessing
Modified: cfe/trunk/include/clang-c/Index.h
URL: http://llvm.org/viewvc/llvm-project/cfe/trunk/include/clang-c/Index.h?rev=353690&r1=353689&r2=353690&view=diff
==============================================================================
--- cfe/trunk/include/clang-c/Index.h (original)
+++ cfe/trunk/include/clang-c/Index.h Mon Feb 11 03:00:56 2019
@@ -32,7 +32,7 @@
* compatible, thus CINDEX_VERSION_MAJOR is expected to remain stable.
*/
#define CINDEX_VERSION_MAJOR 0
-#define CINDEX_VERSION_MINOR 50
+#define CINDEX_VERSION_MINOR 51
#define CINDEX_VERSION_ENCODE(major, minor) ( \
((major) * 10000) \
@@ -2586,7 +2586,8 @@ enum CXCursorKind {
CXCursor_ObjCRuntimeVisible = 435,
CXCursor_ObjCBoxable = 436,
CXCursor_FlagEnum = 437,
- CXCursor_LastAttr = CXCursor_FlagEnum,
+ CXCursor_ConvergentAttr = 438,
+ CXCursor_LastAttr = CXCursor_ConvergentAttr,
/* Preprocessing */
CXCursor_PreprocessingDirective = 500,
Modified: cfe/trunk/test/Index/attributes.c
URL: http://llvm.org/viewvc/llvm-project/cfe/trunk/test/Index/attributes.c?rev=353690&r1=353689&r2=353690&view=diff
==============================================================================
--- cfe/trunk/test/Index/attributes.c (original)
+++ cfe/trunk/test/Index/attributes.c Mon Feb 11 03:00:56 2019
@@ -12,6 +12,8 @@ enum __attribute((flag_enum)) FlagEnum {
Foo
};
+void convergent_fn() __attribute__((convergent));
+
// CHECK: attributes.c:3:32: StructDecl=Test2:3:32 (Definition) Extent=[3:1 - 5:2]
// CHECK: attributes.c:3:23: attribute(packed)=packed Extent=[3:23 - 3:29]
// CHECK: attributes.c:4:8: FieldDecl=a:4:8 (Definition) Extent=[4:3 - 4:9] [access=public]
@@ -24,3 +26,6 @@ enum __attribute((flag_enum)) FlagEnum {
// CHECK: attributes.c:9:38: attribute(noduplicate)= Extent=[9:38 - 9:49]
// CHECK: attributes.c:11:31: EnumDecl=FlagEnum:11:31 (Definition) Extent=[11:1 - 13:2]
// CHECK: attributes.c:11:19: attribute(flag_enum)= Extent=[11:19 - 11:28]
+// CHECK: attributes.c:12:3: EnumConstantDecl=Foo:12:3 (Definition) Extent=[12:3 - 12:6]
+// CHECK: attributes.c:15:6: FunctionDecl=convergent_fn:15:6 Extent=[15:1 - 15:49]
+// CHECK: attributes.c:15:37: attribute(convergent)= Extent=[15:37 - 15:47]
Modified: cfe/trunk/tools/libclang/CIndex.cpp
URL: http://llvm.org/viewvc/llvm-project/cfe/trunk/tools/libclang/CIndex.cpp?rev=353690&r1=353689&r2=353690&view=diff
==============================================================================
--- cfe/trunk/tools/libclang/CIndex.cpp (original)
+++ cfe/trunk/tools/libclang/CIndex.cpp Mon Feb 11 03:00:56 2019
@@ -5474,7 +5474,9 @@ CXString clang_getCursorKindSpelling(enu
case CXCursor_StaticAssert:
return cxstring::createRef("StaticAssert");
case CXCursor_FriendDecl:
- return cxstring::createRef("FriendDecl");
+ return cxstring::createRef("FriendDecl");
+ case CXCursor_ConvergentAttr:
+ return cxstring::createRef("attribute(convergent)");
}
llvm_unreachable("Unhandled CXCursorKind");
Modified: cfe/trunk/tools/libclang/CXCursor.cpp
URL: http://llvm.org/viewvc/llvm-project/cfe/trunk/tools/libclang/CXCursor.cpp?rev=353690&r1=353689&r2=353690&view=diff
==============================================================================
--- cfe/trunk/tools/libclang/CXCursor.cpp (original)
+++ cfe/trunk/tools/libclang/CXCursor.cpp Mon Feb 11 03:00:56 2019
@@ -78,6 +78,7 @@ static CXCursorKind GetCursorKind(const
case attr::ObjCRuntimeVisible: return CXCursor_ObjCRuntimeVisible;
case attr::ObjCBoxable: return CXCursor_ObjCBoxable;
case attr::FlagEnum: return CXCursor_FlagEnum;
+ case attr::Convergent: return CXCursor_ConvergentAttr;
}
return CXCursor_UnexposedAttr;
More information about the cfe-commits
mailing list