// RUN: %clang_cc1 -fsyntax-only -verify %s
namespace foo {
  namespace wibble {
    struct x { int y; };

    namespace bar {
      namespace wonka {
        struct x {
          struct y { };
        };
      }
    }
  }
}

namespace bar {
  typedef int y;

  struct incomplete; // expected-note{{forward declaration of 'struct bar::incomplete'}}
}
void test() {
  foo::wibble::x a;
  ::bar::y b;
  a + b; // expected-error{{invalid operands to binary expression ('foo::wibble::x' and '::bar::y' (aka 'int'))}}

  ::foo::wibble::bar::wonka::x::y c;
  c + b; // expected-error{{invalid operands to binary expression ('::foo::wibble::bar::wonka::x::y' and '::bar::y' (aka 'int'))}}

  (void)sizeof(bar::incomplete); // expected-error{{invalid application of 'sizeof' to an incomplete type 'bar::incomplete'}}
}

int ::foo::wibble::bar::wonka::x::y::* ptrmem;

