@@ -2154,6 +2154,10 @@ enum CXCursorKind {
2154
2154
*/
2155
2155
CXCursor_OMPInterchangeDirective = 308 ,
2156
2156
2157
+ /** OpenMP assume directive.
2158
+ */
2159
+ CXCursor_OMPAssumeDirective = 309 ,
2160
+
2157
2161
/** OpenACC Compute Construct.
2158
2162
*/
2159
2163
CXCursor_OpenACCComputeConstruct = 320 ,
@@ -2162,7 +2166,47 @@ enum CXCursorKind {
2162
2166
*/
2163
2167
CXCursor_OpenACCLoopConstruct = 321 ,
2164
2168
2165
- CXCursor_LastStmt = CXCursor_OpenACCLoopConstruct ,
2169
+ /** OpenACC Combined Constructs.
2170
+ */
2171
+ CXCursor_OpenACCCombinedConstruct = 322 ,
2172
+
2173
+ /** OpenACC data Construct.
2174
+ */
2175
+ CXCursor_OpenACCDataConstruct = 323 ,
2176
+
2177
+ /** OpenACC enter data Construct.
2178
+ */
2179
+ CXCursor_OpenACCEnterDataConstruct = 324 ,
2180
+
2181
+ /** OpenACC exit data Construct.
2182
+ */
2183
+ CXCursor_OpenACCExitDataConstruct = 325 ,
2184
+
2185
+ /** OpenACC host_data Construct.
2186
+ */
2187
+ CXCursor_OpenACCHostDataConstruct = 326 ,
2188
+
2189
+ /** OpenACC wait Construct.
2190
+ */
2191
+ CXCursor_OpenACCWaitConstruct = 327 ,
2192
+
2193
+ /** OpenACC init Construct.
2194
+ */
2195
+ CXCursor_OpenACCInitConstruct = 328 ,
2196
+
2197
+ /** OpenACC shutdown Construct.
2198
+ */
2199
+ CXCursor_OpenACCShutdownConstruct = 329 ,
2200
+
2201
+ /** OpenACC set Construct.
2202
+ */
2203
+ CXCursor_OpenACCSetConstruct = 330 ,
2204
+
2205
+ /** OpenACC update Construct.
2206
+ */
2207
+ CXCursor_OpenACCUpdateConstruct = 331 ,
2208
+
2209
+ CXCursor_LastStmt = CXCursor_OpenACCUpdateConstruct ,
2166
2210
2167
2211
/**
2168
2212
* Cursor that represents the translation unit itself.
@@ -2974,7 +3018,11 @@ enum CXTypeKind {
2974
3018
2975
3019
CXType_ExtVector = 176 ,
2976
3020
CXType_Atomic = 177 ,
2977
- CXType_BTFTagAttributed = 178
3021
+ CXType_BTFTagAttributed = 178 ,
3022
+
3023
+ /* HLSL Types */
3024
+ CXType_HLSLResource = 179 ,
3025
+ CXType_HLSLAttributedResource = 180
2978
3026
};
2979
3027
2980
3028
/**
@@ -3557,8 +3605,8 @@ CINDEX_LINKAGE enum CXTypeNullabilityKind clang_Type_getNullability(CXType T);
3557
3605
3558
3606
/**
3559
3607
* List the possible error codes for \c clang_Type_getSizeOf,
3560
- * \c clang_Type_getAlignOf, \c clang_Type_getOffsetOf and
3561
- * \c clang_Cursor_getOffsetOf.
3608
+ * \c clang_Type_getAlignOf, \c clang_Type_getOffsetOf,
3609
+ * \c clang_Cursor_getOffsetOf, and \c clang_getOffsetOfBase .
3562
3610
*
3563
3611
* A value of this enumeration type can be returned if the target type is not
3564
3612
* a valid argument to sizeof, alignof or offsetof.
@@ -3723,6 +3771,15 @@ CINDEX_LINKAGE enum CXRefQualifierKind clang_Type_getCXXRefQualifier(CXType T);
3723
3771
*/
3724
3772
CINDEX_LINKAGE unsigned clang_isVirtualBase (CXCursor );
3725
3773
3774
+ /**
3775
+ * Returns the offset in bits of a CX_CXXBaseSpecifier relative to the parent
3776
+ * class.
3777
+ *
3778
+ * Returns a small negative number if the offset cannot be computed. See
3779
+ * CXTypeLayoutError for error codes.
3780
+ */
3781
+ CINDEX_LINKAGE long long clang_getOffsetOfBase (CXCursor Parent , CXCursor Base );
3782
+
3726
3783
/**
3727
3784
* Represents the C++ access control level to a base class for a
3728
3785
* cursor with kind CX_CXXBaseSpecifier.
@@ -4134,6 +4191,14 @@ CINDEX_LINKAGE void clang_PrintingPolicy_dispose(CXPrintingPolicy Policy);
4134
4191
CINDEX_LINKAGE CXString clang_getCursorPrettyPrinted (CXCursor Cursor ,
4135
4192
CXPrintingPolicy Policy );
4136
4193
4194
+ /**
4195
+ * Pretty-print the underlying type using a custom printing policy.
4196
+ *
4197
+ * If the type is invalid, an empty string is returned.
4198
+ */
4199
+ CINDEX_LINKAGE CXString clang_getTypePrettyPrinted (CXType CT ,
4200
+ CXPrintingPolicy cxPolicy );
4201
+
4137
4202
/**
4138
4203
* Retrieve the display name for the entity referenced by this cursor.
4139
4204
*
@@ -6592,6 +6657,29 @@ typedef enum CXVisitorResult (*CXFieldVisitor)(CXCursor C,
6592
6657
CINDEX_LINKAGE unsigned clang_Type_visitFields (CXType T , CXFieldVisitor visitor ,
6593
6658
CXClientData client_data );
6594
6659
6660
+ /**
6661
+ * Visit the base classes of a type.
6662
+ *
6663
+ * This function visits all the direct base classes of a the given cursor,
6664
+ * invoking the given \p visitor function with the cursors of each
6665
+ * visited base. The traversal may be ended prematurely, if
6666
+ * the visitor returns \c CXFieldVisit_Break.
6667
+ *
6668
+ * \param T the record type whose field may be visited.
6669
+ *
6670
+ * \param visitor the visitor function that will be invoked for each
6671
+ * field of \p T.
6672
+ *
6673
+ * \param client_data pointer data supplied by the client, which will
6674
+ * be passed to the visitor each time it is invoked.
6675
+ *
6676
+ * \returns a non-zero value if the traversal was terminated
6677
+ * prematurely by the visitor returning \c CXFieldVisit_Break.
6678
+ */
6679
+ CINDEX_LINKAGE unsigned clang_visitCXXBaseClasses (CXType T ,
6680
+ CXFieldVisitor visitor ,
6681
+ CXClientData client_data );
6682
+
6595
6683
/**
6596
6684
* Describes the kind of binary operators.
6597
6685
*/
0 commit comments