[analyzer] Look through __extension__ expressions in a GRState's Environment. Fixes PR8962.

llvm-svn: 132762
diff --git a/clang/test/Analysis/misc-ps.c b/clang/test/Analysis/misc-ps.c
index 2d4fdd4..0729ce2 100644
--- a/clang/test/Analysis/misc-ps.c
+++ b/clang/test/Analysis/misc-ps.c
@@ -36,3 +36,17 @@
   return j;
 }
 
+
+int PR8962 (int *t) {
+  // This should look through the __extension__ no-op.
+  if (__extension__ (t)) return 0;
+  return *t; // expected-warning {{null pointer}}
+}
+
+int PR8962_b (int *t) {
+  // This should still ignore the nested casts
+  // which aren't handled by a single IgnoreParens()
+  if (((int)((int)t))) return 0;
+  return *t; // expected-warning {{null pointer}}
+}
+