   * \brief Return the element type of an array type.
   *
   * If a non-array type is passed in, an invalid type is returned.
-Index: tools/libclang/CXType.cpp
-===================================================================
---- tools/libclang/CXType.cpp	(revision 145002)
-+++ tools/libclang/CXType.cpp	(working copy)
+diff -ur clang-3.0.src.orig/tools/libclang/CIndex.cpp clang-3.0.src/tools/libclang/CIndex.cpp
+--- clang-3.0.src.orig/tools/libclang/CIndex.cpp	2011-12-12 10:17:52.000000000 -0800
++++ clang-3.0.src/tools/libclang/CIndex.cpp	2011-12-12 10:27:37.000000000 -0800
+@@ -3206,6 +3206,11 @@
+     return createCXString(AA->getAnnotation());
+   }
+ 
++  if (C.kind == CXCursor_AsmLabelAttr) {
++    AsmLabelAttr *AA = cast<AsmLabelAttr>(cxcursor::getCursorAttr(C));
++    return createCXString(AA->getLabel());
++  }
++
+   return createCXString("");
+ }
+ 
+@@ -3529,6 +3534,8 @@
+       return createCXString("attribute(override)");
+   case CXCursor_AnnotateAttr:
+     return createCXString("attribute(annotate)");
++  case CXCursor_AsmLabelAttr:
++    return createCXString("asm label");
+   case CXCursor_PreprocessingDirective:
+     return createCXString("preprocessing directive");
+   case CXCursor_MacroDefinition:
+diff -ur clang-3.0.src.orig/tools/libclang/CXCursor.cpp clang-3.0.src/tools/libclang/CXCursor.cpp
+--- clang-3.0.src.orig/tools/libclang/CXCursor.cpp	2011-12-12 10:17:52.000000000 -0800
++++ clang-3.0.src/tools/libclang/CXCursor.cpp	2011-12-12 10:27:37.000000000 -0800
+@@ -46,6 +46,7 @@
+     case attr::Final: return CXCursor_CXXFinalAttr;
+     case attr::Override: return CXCursor_CXXOverrideAttr;
+     case attr::Annotate: return CXCursor_AnnotateAttr;
++    case attr::AsmLabel: return CXCursor_AsmLabelAttr;
+   }
+ 
+   return CXCursor_UnexposedAttr;
+diff -ur clang-3.0.src.orig/tools/libclang/CXType.cpp clang-3.0.src/tools/libclang/CXType.cpp
+--- clang-3.0.src.orig/tools/libclang/CXType.cpp	2011-12-12 10:17:52.000000000 -0800
++++ clang-3.0.src/tools/libclang/CXType.cpp	2011-12-12 10:27:37.000000000 -0800
 @@ -85,6 +85,7 @@
      TKCASE(FunctionNoProto);
      TKCASE(FunctionProto);

 clang_isInvalid
 clang_isPODType
 clang_isPreprocessing
Index: tools/libclang/CXCursor.cpp
===================================================================
--- tools/libclang/CXCursor.cpp	(revision 145002)
+++ tools/libclang/CXCursor.cpp	(working copy)
@@ -46,6 +46,7 @@
     case attr::Final: return CXCursor_CXXFinalAttr;
     case attr::Override: return CXCursor_CXXOverrideAttr;
     case attr::Annotate: return CXCursor_AnnotateAttr;
+    case attr::AsmLabel: return CXCursor_AsmLabelAttr;
   }
 
   return CXCursor_UnexposedAttr;
Index: tools/libclang/CIndex.cpp
===================================================================
--- tools/libclang/CIndex.cpp	(revision 145002)
+++ tools/libclang/CIndex.cpp	(working copy)
@@ -3002,6 +3002,11 @@
     return createCXString(AA->getAnnotation());
   }
 
+  if (C.kind == CXCursor_AsmLabelAttr) {
+    AsmLabelAttr *AA = cast<AsmLabelAttr>(cxcursor::getCursorAttr(C));
+    return createCXString(AA->getLabel());
+  }
+
   return createCXString("");
 }
 
@@ -3325,6 +3330,8 @@
       return createCXString("attribute(override)");
   case CXCursor_AnnotateAttr:
     return createCXString("attribute(annotate)");
+  case CXCursor_AsmLabelAttr:
+    return createCXString("asm label");
   case CXCursor_PreprocessingDirective:
     return createCXString("preprocessing directive");
   case CXCursor_MacroDefinition:

 clang_getIBOutletCollectionType
 clang_getIncludedFile
 clang_getInclusions
@@ -104,8 +110,10 @@
 clang_getNullCursor
 clang_getNullLocation
 clang_getNullRange
+clang_getNumArgTypes
 clang_getNumCompletionChunks
 clang_getNumDiagnostics
+clang_getNumElements
 clang_getNumOverloadedDecls
 clang_getOverloadedDecl
 clang_getOverriddenCursors
@@ -127,6 +135,7 @@
 clang_getTranslationUnitCursor
 clang_getTranslationUnitSpelling
 clang_getTypeDeclaration
+clang_getTypedefDeclUnderlyingType
 clang_getTypeKindSpelling
 clang_hashCursor
 clang_isAttribute
@@ -135,6 +144,7 @@
 clang_isDeclaration
 clang_isExpression
 clang_isFileMultipleIncludeGuarded
