-Wc++-compat doesn't warn for C++ keywords and nested structs

Hi,
  clang doesn't print warning for following test-case:
compiled with: clang -fsyntax-only -Wc++-compat

int new;
struct A
{
  struct B
  {
    int x;
  }bs;
  int y;
};
struct B b;

gcc -fsyntax-only -Wc++-compat prints following warnings (gcc-4.9.1 ubuntu):

t.c:1:5: warning: identifier ‘new’ conflicts with C++ keyword [-Wc++-compat]
int new;
      ^
t.c:13:8: warning: struct defined in struct or union is not visible in
C++ [-Wc++-compat]
struct B b;
           ^
t.c:5:10: note: struct defined here
   struct B
             ^
clang --version:
Ubuntu clang version 3.5.0-4ubuntu2 (tags/RELEASE_350/final) (based on
LLVM 3.5.0)
Target: x86_64-pc-linux-gnu
Thread model: posix

Thank you,
Prathamesh

Filed as llvm.org/PR21524

It appears diagnostic for assignment from void * is also missed.
Test-case:
int main(void)
{
  void *q = 0;
  int *p;
  p = q;
  return 0;
}

gcc -fsyntax-only -Wc++-compat prints:
void-ptr-cast.c:5:5: warning: request for implicit conversion from
‘void *’ to ‘int *’ not permitted in C++ [-Wc++-compat]
   p = q;
     ^

Thank you,
Prathamesh

It appears diagnostic for assignment from void * is also missed.

Please report this and any other cases on the bug; messages here are likely
to be forgotten about.