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