14fb20533baff585c27531fe90c9bf7b004e07bb7Fariborz Jahanian// RUN: %clang_cc1 -fsyntax-only -pedantic -verify %s
24fb20533baff585c27531fe90c9bf7b004e07bb7Fariborz Jahanian
3827adaff666e53ae2f2db994bcd62ebe1ff5b9ceRichard Smithnamespace ImplicitInt {
4827adaff666e53ae2f2db994bcd62ebe1ff5b9ceRichard Smith  static a(4); // expected-error {{requires a type specifier}}
5827adaff666e53ae2f2db994bcd62ebe1ff5b9ceRichard Smith  b(int n); // expected-error {{requires a type specifier}}
6827adaff666e53ae2f2db994bcd62ebe1ff5b9ceRichard Smith  c (*p)[]; // expected-error {{unknown type name 'c'}}
7827adaff666e53ae2f2db994bcd62ebe1ff5b9ceRichard Smith  itn f(char *p, *q); // expected-error {{unknown type name 'itn'}} expected-error {{requires a type specifier}}
8827adaff666e53ae2f2db994bcd62ebe1ff5b9ceRichard Smith
9827adaff666e53ae2f2db994bcd62ebe1ff5b9ceRichard Smith  struct S {
10827adaff666e53ae2f2db994bcd62ebe1ff5b9ceRichard Smith    void f();
11827adaff666e53ae2f2db994bcd62ebe1ff5b9ceRichard Smith  };
12827adaff666e53ae2f2db994bcd62ebe1ff5b9ceRichard Smith  S::f() {} // expected-error {{requires a type specifier}}
13827adaff666e53ae2f2db994bcd62ebe1ff5b9ceRichard Smith}
14827adaff666e53ae2f2db994bcd62ebe1ff5b9ceRichard Smith
15661c36b057d07c76c16fee95c01d96f3956265beArgyrios Kyrtzidis// PR7180
16661c36b057d07c76c16fee95c01d96f3956265beArgyrios Kyrtzidisint f(a::b::c); // expected-error {{use of undeclared identifier 'a'}}
17661c36b057d07c76c16fee95c01d96f3956265beArgyrios Kyrtzidis
184fb20533baff585c27531fe90c9bf7b004e07bb7Fariborz Jahanianclass Foo::Bar { // expected-error {{use of undeclared identifier 'Foo'}} \
194fb20533baff585c27531fe90c9bf7b004e07bb7Fariborz Jahanian                 // expected-error {{expected ';' after class}}
20