Index: test/Coverage/c-language-features.inc
===================================================================
--- test/Coverage/c-language-features.inc	(revision 68428)
+++ test/Coverage/c-language-features.inc	(working copy)
@@ -172,3 +172,6 @@
      short x;
 {
 }
+
+// Function which inputs an array
+void f9(int x[]) { }
Index: test/Coverage/print-decl-contexts.c
===================================================================
--- test/Coverage/print-decl-contexts.c	(revision 0)
+++ test/Coverage/print-decl-contexts.c	(revision 0)
@@ -0,0 +1,3 @@
+// RUN: clang-cc -print-decl-contexts %s
+
+#include "c-language-features.inc"
Index: tools/clang-cc/ASTConsumers.cpp
===================================================================
--- tools/clang-cc/ASTConsumers.cpp	(revision 68428)
+++ tools/clang-cc/ASTConsumers.cpp	(working copy)
@@ -926,13 +926,18 @@
       Out << "<parameter> " << PVD->getNameAsString() << "\n";
       break;
     }
+    case Decl::OriginalParmVar: {
+      OriginalParmVarDecl* OPVD = cast<OriginalParmVarDecl>(*I);
+      Out << "<original parameter> " << OPVD->getNameAsString() << "\n";
+      break;
+    }
     case Decl::ObjCProperty: {
       ObjCPropertyDecl* OPD = cast<ObjCPropertyDecl>(*I);
       Out << "<objc property> " << OPD->getNameAsString() << "\n";
       break;
     }
     default:
-      fprintf(stderr, "DeclKind: %d\n", DK);
+      fprintf(stderr, "DeclKind: %d \"%s\"\n", DK, I->getDeclKindName());
       assert(0 && "decl unhandled");
     }
   }
