"Tautological pointer comparison" build failure(s) — clang 3.1

Incorrect code...
#include 
void foo() {
 int arr[5];
 int x;
 // warn on these conditionals
 if (foo);
 if (arr);
 if (&x);
 if (foo == NULL);
 if (arr == NULL);
 if (&x == NULL);
}

void f(int &x) {
 if (&x == nullptr) { }
}
gcc with -Wall also detects some of these errors but not the one involving NULL.

No error detected for version 3.1