| // RUN: %clang_cc1 -fsyntax-only -verify %s |
| |
| // Check the following typo correction behavior in namespaces: |
| // - no typos are diagnosed when an expression has ambiguous (multiple) corrections |
| // - proper iteration through multiple potentially ambiguous corrections |
| |
| namespace AmbiguousCorrection |
| { |
| void method_Bar(); |
| void method_Foo(); |
| void method_Zoo(); |
| }; |
| |
| void testAmbiguousNoSuggestions() |
| { |
| AmbiguousCorrection::method_Ace(); // expected-error {{no member named 'method_Ace' in namespace 'AmbiguousCorrection'}} |
| } |
| |
| namespace MultipleCorrectionsButNotAmbiguous |
| { |
| int PrefixType_Name(int value); // expected-note {{'PrefixType_Name' declared here}} |
| int PrefixType_MIN(); |
| int PrefixType_MAX(); |
| }; |
| |
| int testMultipleCorrectionsButNotAmbiguous() { |
| int val = MultipleCorrectionsButNotAmbiguous::PrefixType_Enum(0); // expected-error {{no member named 'PrefixType_Enum' in namespace 'MultipleCorrectionsButNotAmbiguous'; did you mean 'PrefixType_Name'?}} |
| return val; |
| } |