summaryrefslogtreecommitdiffstats
path: root/clang
diff options
context:
space:
mode:
Diffstat (limited to 'clang')
-rw-r--r--clang/bindings/python/clang/cindex.py1
-rw-r--r--clang/include/clang-c/Index.h5
-rw-r--r--clang/test/Index/attributes.c12
-rw-r--r--clang/tools/libclang/CIndex.cpp2
-rw-r--r--clang/tools/libclang/CXCursor.cpp1
5 files changed, 19 insertions, 2 deletions
diff --git a/clang/bindings/python/clang/cindex.py b/clang/bindings/python/clang/cindex.py
index d9684db1751..113697eb4f1 100644
--- a/clang/bindings/python/clang/cindex.py
+++ b/clang/bindings/python/clang/cindex.py
@@ -1345,6 +1345,7 @@ CursorKind.DLLIMPORT_ATTR = CursorKind(419)
CursorKind.CONVERGENT_ATTR = CursorKind(438)
CursorKind.WARN_UNUSED_ATTR = CursorKind(439)
CursorKind.WARN_UNUSED_RESULT_ATTR = CursorKind(440)
+CursorKind.ALIGNED_ATTR = CursorKind(441)
###
# Preprocessing
diff --git a/clang/include/clang-c/Index.h b/clang/include/clang-c/Index.h
index a5ef2d20587..7654656664f 100644
--- a/clang/include/clang-c/Index.h
+++ b/clang/include/clang-c/Index.h
@@ -32,7 +32,7 @@
* compatible, thus CINDEX_VERSION_MAJOR is expected to remain stable.
*/
#define CINDEX_VERSION_MAJOR 0
-#define CINDEX_VERSION_MINOR 53
+#define CINDEX_VERSION_MINOR 54
#define CINDEX_VERSION_ENCODE(major, minor) ( \
((major) * 10000) \
@@ -2589,7 +2589,8 @@ enum CXCursorKind {
CXCursor_ConvergentAttr = 438,
CXCursor_WarnUnusedAttr = 439,
CXCursor_WarnUnusedResultAttr = 440,
- CXCursor_LastAttr = CXCursor_WarnUnusedResultAttr,
+ CXCursor_AlignedAttr = 441,
+ CXCursor_LastAttr = CXCursor_AlignedAttr,
/* Preprocessing */
CXCursor_PreprocessingDirective = 500,
diff --git a/clang/test/Index/attributes.c b/clang/test/Index/attributes.c
index 1db3be9bcbb..a5d10a18359 100644
--- a/clang/test/Index/attributes.c
+++ b/clang/test/Index/attributes.c
@@ -20,6 +20,14 @@ struct __attribute__((warn_unused)) WarnUnused {
int b;
};
+struct __attribute__((aligned(64))) Aligned1 {
+ int c;
+};
+
+struct Aligned2 {
+ int c;
+} __attribute__((aligned(64)));
+
// 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]
@@ -39,3 +47,7 @@ struct __attribute__((warn_unused)) WarnUnused {
// CHECK: attributes.c:17:44: attribute(warn_unused_result)= Extent=[17:44 - 17:62]
// CHECK: attributes.c:19:37: StructDecl=WarnUnused:19:37 (Definition) Extent=[19:1 - 21:2]
// CHECK: attributes.c:19:23: attribute(warn_unused)= Extent=[19:23 - 19:34]
+// CHECK: attributes.c:23:37: StructDecl=Aligned1:23:37 (Definition) Extent=[23:1 - 25:2]
+// CHECK: attributes.c:23:23: attribute(aligned)= Extent=[23:23 - 23:34]
+// CHECK: attributes.c:27:8: StructDecl=Aligned2:27:8 (Definition) Extent=[27:1 - 29:2]
+// CHECK: attributes.c:29:18: attribute(aligned)= Extent=[29:18 - 29:29]
diff --git a/clang/tools/libclang/CIndex.cpp b/clang/tools/libclang/CIndex.cpp
index ab9087ae5f9..7b0891509b2 100644
--- a/clang/tools/libclang/CIndex.cpp
+++ b/clang/tools/libclang/CIndex.cpp
@@ -5484,6 +5484,8 @@ CXString clang_getCursorKindSpelling(enum CXCursorKind Kind) {
return cxstring::createRef("attribute(warn_unused)");
case CXCursor_WarnUnusedResultAttr:
return cxstring::createRef("attribute(warn_unused_result)");
+ case CXCursor_AlignedAttr:
+ return cxstring::createRef("attribute(aligned)");
}
llvm_unreachable("Unhandled CXCursorKind");
diff --git a/clang/tools/libclang/CXCursor.cpp b/clang/tools/libclang/CXCursor.cpp
index e4a0291f140..907f8cf1cdf 100644
--- a/clang/tools/libclang/CXCursor.cpp
+++ b/clang/tools/libclang/CXCursor.cpp
@@ -81,6 +81,7 @@ static CXCursorKind GetCursorKind(const Attr *A) {
case attr::Convergent: return CXCursor_ConvergentAttr;
case attr::WarnUnused: return CXCursor_WarnUnusedAttr;
case attr::WarnUnusedResult: return CXCursor_WarnUnusedResultAttr;
+ case attr::Aligned: return CXCursor_AlignedAttr;
}
return CXCursor_UnexposedAttr;
OpenPOWER on IntegriCloud