Index: include/clang-c/Index.h
===================================================================
--- include/clang-c/Index.h	(revision 124135)
+++ include/clang-c/Index.h	(working copy)
@@ -1782,6 +1782,16 @@
 CINDEX_LINKAGE CXType clang_getCanonicalType(CXType T);
 
 /**
+ *  \determine Determine whether a CXType is const-qualified.
+ */
+CINDEX_LINKAGE unsigned clang_isConstQualifiedType(CXType T);
+
+/**
+ *  \determine Determine whether a CXType is volatile-qualified.
+ */
+CINDEX_LINKAGE unsigned clang_isVolatileQualifiedType(CXType T);
+
+/**
  * \brief For pointer types, returns the type of the pointee.
  *
  */
Index: tools/libclang/CXType.cpp
===================================================================
--- tools/libclang/CXType.cpp	(revision 124135)
+++ tools/libclang/CXType.cpp	(working copy)
@@ -186,6 +186,16 @@
   return MakeCXType(AU->getASTContext().getCanonicalType(T), TU);
 }
 
+unsigned clang_isConstQualifiedType(CXType CT) {
+  QualType T = GetQualType(CT);
+  return T.isLocalConstQualified();
+}
+
+unsigned clang_isVolatileQualifiedType(CXType CT) {
+  QualType T = GetQualType(CT);
+  return T.isLocalVolatileQualified();
+}
+
 CXType clang_getPointeeType(CXType CT) {
   QualType T = GetQualType(CT);
   const Type *TP = T.getTypePtrOrNull();
Index: tools/libclang/libclang.exports
===================================================================
--- tools/libclang/libclang.exports	(revision 124135)
+++ tools/libclang/libclang.exports	(working copy)
@@ -108,6 +108,7 @@
 clang_getTypeDeclaration
 clang_getTypeKindSpelling
 clang_hashCursor
+clang_isConstQualifiedType
 clang_isCursorDefinition
 clang_isDeclaration
 clang_isExpression
@@ -119,6 +120,7 @@
 clang_isTranslationUnit
 clang_isUnexposed
 clang_isVirtualBase
+clang_isVolatileQualifiedType
 clang_parseTranslationUnit
 clang_reparseTranslationUnit
 clang_saveTranslationUnit
