Index: test/SemaCXX/warn-unused-private-field.cpp
===================================================================
--- test/SemaCXX/warn-unused-private-field.cpp	(revision 160536)
+++ test/SemaCXX/warn-unused-private-field.cpp	(working copy)
@@ -209,3 +209,10 @@
   unsigned char Data[8];
 };
 }  // namespace anonymous_structs_unions
+
+namespace pr13413 {
+class A {
+  A() : p_(__null) {}
+  void* p_;  // expected-warning{{private field 'p_' is not used}}
+};
+}
Index: lib/AST/ExprConstant.cpp
===================================================================
--- lib/AST/ExprConstant.cpp	(revision 160047)
+++ lib/AST/ExprConstant.cpp	(working copy)
@@ -2338,6 +2338,7 @@
     return Visit(E->getSubExpr());
   }
   bool VisitUnaryOperator(const UnaryOperator *E) { return Visit(E->getSubExpr()); }
+  bool VisitGNUNullExpr(const GNUNullExpr *E) { return false; }
     
   // Has side effects if any element does.
   bool VisitInitListExpr(const InitListExpr *E) {
