1 // RUN: %clang_cc1 -fsyntax-only -verify %s 2 3 // Check the following typo correction behavior in namespaces: 4 // - no typos are diagnosed when an expression has ambiguous (multiple) corrections 5 // - proper iteration through multiple potentially ambiguous corrections 6 7 namespace AmbiguousCorrection 8 { 9 void method_Bar(); 10 void method_Foo(); 11 void method_Zoo(); 12 }; 13 testAmbiguousNoSuggestions()14void testAmbiguousNoSuggestions() 15 { 16 AmbiguousCorrection::method_Ace(); // expected-error {{no member named 'method_Ace' in namespace 'AmbiguousCorrection'}} 17 } 18 19 namespace MultipleCorrectionsButNotAmbiguous 20 { 21 int PrefixType_Name(int value); // expected-note {{'PrefixType_Name' declared here}} 22 int PrefixType_MIN(); 23 int PrefixType_MAX(); 24 }; 25 testMultipleCorrectionsButNotAmbiguous()26int testMultipleCorrectionsButNotAmbiguous() { 27 int val = MultipleCorrectionsButNotAmbiguous::PrefixType_Enum(0); // expected-error {{no member named 'PrefixType_Enum' in namespace 'MultipleCorrectionsButNotAmbiguous'; did you mean 'PrefixType_Name'?}} 28 return val; 29 } 30