xref: /llvm-project/clang/test/Sema/typo-correction-ambiguity.c (revision 22db4824b9e03fe8c2e9217d6832b71ac23c175f)
1 // RUN: %clang_cc1 -fsyntax-only -verify %s
2 
3 // Check the following typo correction behavior in C:
4 // - no typos are diagnosed when a call expression has ambiguous (multiple) corrections
5 
6 int v_63;
7 
v_2_0(int v_452,int v_454)8 void v_2_0(int v_452, int v_454) {}
9 
v_3_0(void)10 int v_3_0(void) {
11    for (int v_345 = 0 ; v_63;)
12        v_2_0(v_195,  // expected-error {{use of undeclared identifier 'v_195'}}
13              v_231);  // expected-error {{use of undeclared identifier 'v_231'}}
14 }
15 
16 // Test: no typo-correction diagnostics are emitted for ambiguous typos.
17 struct a {
18   int xxx;
19 };
20 
21 int g_107;
22 int g_108;
23 int g_109;
24 
25 struct a g_999;
26 struct a g_998;
PR50797(void)27 void PR50797(void) { (g_910.xxx = g_910.xxx); } //expected-error 2{{use of undeclared identifier 'g_910'}}
28