diff --git a/lib/Sema/SemaDecl.cpp b/lib/Sema/SemaDecl.cpp
index 01aaf8b..490e155 100644
--- a/lib/Sema/SemaDecl.cpp
+++ b/lib/Sema/SemaDecl.cpp
@@ -6338,6 +6338,11 @@ namespace {
                               << OrigDecl->getLocation()
                               << DRE->getSourceRange());
     }
+
+    void VisitParenListExpr(ParenListExpr *PLE) {
+      for (unsigned I = 0, E = PLE->getNumExprs(); I != E; ++I)
+        HandleExpr(PLE->getExpr(I));
+    }
   };
 }
 
diff --git a/test/SemaCXX/uninitialized.cpp b/test/SemaCXX/uninitialized.cpp
index 6725bf9..be75f0b 100644
--- a/test/SemaCXX/uninitialized.cpp
+++ b/test/SemaCXX/uninitialized.cpp
@@ -400,6 +400,7 @@ namespace in_class_initializers {
 
 namespace references {
   int &a = a; // expected-warning{{reference 'a' is not yet bound to a value when used within its own initialization}}
+  int &b(b); // expected-warning{{reference 'b' is not yet bound to a value when used within its own initialization}}
 
   struct S {
     S() : a(a) {} // expected-warning{{reference 'a' is not yet bound to a value when used here}}
@@ -408,6 +409,7 @@ namespace references {
 
   void f() {
     int &a = a; // expected-warning{{reference 'a' is not yet bound to a value when used within its own initialization}}
+    int &b(b); // expected-warning{{reference 'b' is not yet bound to a value when used within its own initialization}}
   }
 
   struct T {
