10daf1f4a0ff1cd6487c7040ac8f97eee48185536Kaelyn Uhrain// RUN: %clang_cc1 -fsyntax-only -verify %s 20daf1f4a0ff1cd6487c7040ac8f97eee48185536Kaelyn Uhrain// RUN: cp %s %t 30daf1f4a0ff1cd6487c7040ac8f97eee48185536Kaelyn Uhrain// RUN: not %clang_cc1 -fsyntax-only -fixit -x c++ %t 40daf1f4a0ff1cd6487c7040ac8f97eee48185536Kaelyn Uhrain// RUN: %clang_cc1 -fsyntax-only -pedantic -Werror -x c++ %t 50daf1f4a0ff1cd6487c7040ac8f97eee48185536Kaelyn Uhrain// RUN: grep using_suggestion_tyname_ty_dropped_specifier %t 60daf1f4a0ff1cd6487c7040ac8f97eee48185536Kaelyn Uhrain 70daf1f4a0ff1cd6487c7040ac8f97eee48185536Kaelyn Uhrain// These tests have been separated from typo.cpp to keep the maximum typo 80daf1f4a0ff1cd6487c7040ac8f97eee48185536Kaelyn Uhrain// correction counter from ticking over; this causes spurious failures. 90daf1f4a0ff1cd6487c7040ac8f97eee48185536Kaelyn Uhrain 100daf1f4a0ff1cd6487c7040ac8f97eee48185536Kaelyn Uhrainnamespace using_suggestion_ty { 110daf1f4a0ff1cd6487c7040ac8f97eee48185536Kaelyn Uhrainnamespace N { class AAA {}; } // expected-note {{'AAA' declared here}} 120daf1f4a0ff1cd6487c7040ac8f97eee48185536Kaelyn Uhrainusing N::AAB; // expected-error {{no member named 'AAB' in namespace 'using_suggestion_ty::N'; did you mean 'AAA'?}} 130daf1f4a0ff1cd6487c7040ac8f97eee48185536Kaelyn Uhrain} 140daf1f4a0ff1cd6487c7040ac8f97eee48185536Kaelyn Uhrain 150daf1f4a0ff1cd6487c7040ac8f97eee48185536Kaelyn Uhrainnamespace using_suggestion_tyname_ty { 160daf1f4a0ff1cd6487c7040ac8f97eee48185536Kaelyn Uhrainnamespace N { class AAA {}; } // expected-note {{'AAA' declared here}} 170daf1f4a0ff1cd6487c7040ac8f97eee48185536Kaelyn Uhrainusing typename N::AAB; // expected-error {{no member named 'AAB' in namespace 'using_suggestion_tyname_ty::N'; did you mean 'AAA'?}} 180daf1f4a0ff1cd6487c7040ac8f97eee48185536Kaelyn Uhrain} 190daf1f4a0ff1cd6487c7040ac8f97eee48185536Kaelyn Uhrain 200daf1f4a0ff1cd6487c7040ac8f97eee48185536Kaelyn Uhrainnamespace using_suggestion_val { 210daf1f4a0ff1cd6487c7040ac8f97eee48185536Kaelyn Uhrainnamespace N { void FFF() {} } // expected-note {{'FFF' declared here}} 220daf1f4a0ff1cd6487c7040ac8f97eee48185536Kaelyn Uhrainusing N::FFG; // expected-error {{no member named 'FFG' in namespace 'using_suggestion_val::N'; did you mean 'FFF'?}} 230daf1f4a0ff1cd6487c7040ac8f97eee48185536Kaelyn Uhrain} 240daf1f4a0ff1cd6487c7040ac8f97eee48185536Kaelyn Uhrain 250daf1f4a0ff1cd6487c7040ac8f97eee48185536Kaelyn Uhrainnamespace using_suggestion_ty_dropped_specifier { 263d9559b91c00757b296354cc6ca93e899266c7d2Kaelyn Uhrainclass ABC {}; // expected-note {{'::using_suggestion_ty_dropped_specifier::ABC' declared here}} 270daf1f4a0ff1cd6487c7040ac8f97eee48185536Kaelyn Uhrainnamespace N { } 283d9559b91c00757b296354cc6ca93e899266c7d2Kaelyn Uhrainusing N::ABC; // expected-error {{no member named 'ABC' in namespace 'using_suggestion_ty_dropped_specifier::N'; did you mean '::using_suggestion_ty_dropped_specifier::ABC'?}} 290daf1f4a0ff1cd6487c7040ac8f97eee48185536Kaelyn Uhrain} 300daf1f4a0ff1cd6487c7040ac8f97eee48185536Kaelyn Uhrain 310daf1f4a0ff1cd6487c7040ac8f97eee48185536Kaelyn Uhrainnamespace using_suggestion_tyname_ty_dropped_specifier { 323d9559b91c00757b296354cc6ca93e899266c7d2Kaelyn Uhrainclass BCD {}; // expected-note {{'::using_suggestion_tyname_ty_dropped_specifier::BCD' declared here}} 330daf1f4a0ff1cd6487c7040ac8f97eee48185536Kaelyn Uhrainnamespace N { } 343d9559b91c00757b296354cc6ca93e899266c7d2Kaelyn Uhrainusing typename N::BCD; // expected-error {{no member named 'BCD' in namespace 'using_suggestion_tyname_ty_dropped_specifier::N'; did you mean '::using_suggestion_tyname_ty_dropped_specifier::BCD'?}} 350daf1f4a0ff1cd6487c7040ac8f97eee48185536Kaelyn Uhrain} 360daf1f4a0ff1cd6487c7040ac8f97eee48185536Kaelyn Uhrain 370daf1f4a0ff1cd6487c7040ac8f97eee48185536Kaelyn Uhrainnamespace using_suggestion_val_dropped_specifier { 383d9559b91c00757b296354cc6ca93e899266c7d2Kaelyn Uhrainvoid EFG() {} // expected-note {{'::using_suggestion_val_dropped_specifier::EFG' declared here}} 390daf1f4a0ff1cd6487c7040ac8f97eee48185536Kaelyn Uhrainnamespace N { } 403d9559b91c00757b296354cc6ca93e899266c7d2Kaelyn Uhrainusing N::EFG; // expected-error {{no member named 'EFG' in namespace 'using_suggestion_val_dropped_specifier::N'; did you mean '::using_suggestion_val_dropped_specifier::EFG'?}} 410daf1f4a0ff1cd6487c7040ac8f97eee48185536Kaelyn Uhrain} 420daf1f4a0ff1cd6487c7040ac8f97eee48185536Kaelyn Uhrain 430daf1f4a0ff1cd6487c7040ac8f97eee48185536Kaelyn Uhrainnamespace using_suggestion_member_ty { 440daf1f4a0ff1cd6487c7040ac8f97eee48185536Kaelyn Uhrainclass CCC { public: typedef int AAA; }; // expected-note {{'AAA' declared here}} 450daf1f4a0ff1cd6487c7040ac8f97eee48185536Kaelyn Uhrainclass DDD : public CCC { public: using CCC::AAB; }; // expected-error {{no member named 'AAB' in 'using_suggestion_member_ty::CCC'; did you mean 'AAA'?}} 460daf1f4a0ff1cd6487c7040ac8f97eee48185536Kaelyn Uhrain} 470daf1f4a0ff1cd6487c7040ac8f97eee48185536Kaelyn Uhrain 480daf1f4a0ff1cd6487c7040ac8f97eee48185536Kaelyn Uhrainnamespace using_suggestion_member_val { 490daf1f4a0ff1cd6487c7040ac8f97eee48185536Kaelyn Uhrainclass CCC { public: void AAA() { } }; // expected-note {{'AAA' declared here}} 500daf1f4a0ff1cd6487c7040ac8f97eee48185536Kaelyn Uhrainclass DDD : public CCC { public: using CCC::AAB; }; // expected-error {{no member named 'AAB' in 'using_suggestion_member_val::CCC'; did you mean 'AAA'?}} 510daf1f4a0ff1cd6487c7040ac8f97eee48185536Kaelyn Uhrain} 520daf1f4a0ff1cd6487c7040ac8f97eee48185536Kaelyn Uhrain 530daf1f4a0ff1cd6487c7040ac8f97eee48185536Kaelyn Uhrainnamespace using_suggestion_member_tyname_ty { 540daf1f4a0ff1cd6487c7040ac8f97eee48185536Kaelyn Uhrainclass CCC { public: typedef int AAA; }; // expected-note {{'AAA' declared here}} 550daf1f4a0ff1cd6487c7040ac8f97eee48185536Kaelyn Uhrainclass DDD : public CCC { public: using typename CCC::AAB; }; // expected-error {{no member named 'AAB' in 'using_suggestion_member_tyname_ty::CCC'; did you mean 'AAA'?}} 560daf1f4a0ff1cd6487c7040ac8f97eee48185536Kaelyn Uhrain} 57