Skip to content

Commit 0d191f1

Browse files
committed
Remove typo related AST dump tests
It's possible these tests could be repaired but AST dump tests are incredibly fragile to begin with. I think removing these tests is not actively harmful.
1 parent 68d0d91 commit 0d191f1

File tree

3 files changed

+0
-275
lines changed

3 files changed

+0
-275
lines changed

clang/test/AST/ast-dump-recovery.c

Lines changed: 0 additions & 30 deletions
Original file line numberDiff line numberDiff line change
@@ -23,13 +23,6 @@ int postfix_inc = a++;
2323
// CHECK-NEXT: `-IntegerLiteral {{.*}} 'int'
2424
int unary_address = &(a + 1);
2525

26-
// CHECK: VarDecl {{.*}} ternary 'int'
27-
// CHECK-NEXT: `-ConditionalOperator {{.*}}
28-
// CHECK-NEXT: |-DeclRefExpr {{.*}} 'a'
29-
// CHECK-NEXT: |-RecoveryExpr {{.*}}
30-
// CHECK-NEXT: `-DeclRefExpr {{.*}} 'a'
31-
int ternary = a ? undef : a;
32-
3326
void test1() {
3427
// CHECK: `-RecoveryExpr {{.*}} contains-errors
3528
// CHECK-NEXT: `-DeclRefExpr {{.*}} 'a' 'const int'
@@ -91,12 +84,6 @@ void test3() {
9184
// CHECK-NEXT: | `-DeclRefExpr {{.*}} '__builtin_classify_type'
9285
// CHECK-NEXT: `-IntegerLiteral {{.*}} 'int' 1
9386
(*__builtin_classify_type)(1);
94-
95-
extern void ext();
96-
// CHECK: CallExpr {{.*}} '<dependent type>' contains-errors
97-
// CHECK-NEXT: |-DeclRefExpr {{.*}} 'ext'
98-
// CHECK-NEXT: `-RecoveryExpr {{.*}} '<dependent type>'
99-
ext(undef_var);
10087
}
10188

10289
// Verify no crash.
@@ -110,23 +97,6 @@ void test4() {
11097
};
11198
}
11299

113-
// Verify no crash
114-
void test5_GH62711() {
115-
// CHECK: VAArgExpr {{.*}} 'int' contains-errors
116-
// CHECK-NEXT: | `-ImplicitCastExpr {{.*}} '<dependent type>' contains-errors
117-
// CHECK-NEXT: | `-RecoveryExpr {{.*}} '<dependent type>' contains-errors
118-
if (__builtin_va_arg(undef, int) << 1);
119-
}
120-
121-
void test6_GH50244() {
122-
double array[16];
123-
// CHECK: UnaryExprOrTypeTraitExpr {{.*}} 'unsigned long' contains-errors sizeof
124-
// CHECK-NEXT: `-CallExpr {{.*}} '<dependent type>' contains-errors
125-
// CHECK-NEXT: |-DeclRefExpr {{.*}} 'int ()'
126-
// CHECK-NEXT: `-RecoveryExpr {{.*}} '<dependent type>'
127-
sizeof array / sizeof foo(undef);
128-
}
129-
130100
// No crash on DeclRefExpr that refers to ValueDecl with invalid initializers.
131101
void test7() {
132102
int b[] = {""()};

clang/test/AST/ast-dump-recovery.cpp

Lines changed: 0 additions & 213 deletions
Original file line numberDiff line numberDiff line change
@@ -9,28 +9,6 @@ int some_func(int *);
99
// CHECK-NEXT: `-IntegerLiteral {{.*}} 123
1010
// DISABLED-NOT: -RecoveryExpr {{.*}} contains-errors
1111
int invalid_call = some_func(123);
12-
void test_invalid_call_1(int s) {
13-
// CHECK: CallExpr {{.*}} '<dependent type>' contains-errors
14-
// CHECK-NEXT: |-UnresolvedLookupExpr {{.*}} 'some_func'
15-
// CHECK-NEXT: |-RecoveryExpr {{.*}} <col:13>
16-
// CHECK-NEXT: `-BinaryOperator {{.*}}
17-
// CHECK-NEXT: |-RecoveryExpr {{.*}}
18-
// CHECK-NEXT: `-IntegerLiteral {{.*}} <col:28> 'int' 1
19-
some_func(undef1, undef2+1);
20-
21-
// CHECK: BinaryOperator {{.*}} '<dependent type>' contains-errors '='
22-
// CHECK-NEXT: |-DeclRefExpr {{.*}} 's'
23-
// CHECK-NEXT: `-CallExpr {{.*}} '<dependent type>' contains-errors
24-
// CHECK-NEXT: |-UnresolvedLookupExpr {{.*}} 'some_func'
25-
// CHECK-NEXT: `-RecoveryExpr {{.*}} contains-errors
26-
s = some_func(undef1);
27-
28-
// CHECK: VarDecl {{.*}} var 'int'
29-
// CHECK-NEXT: `-CallExpr {{.*}} '<dependent type>' contains-errors
30-
// CHECK-NEXT: |-UnresolvedLookupExpr {{.*}} 'some_func'
31-
// CHECK-NEXT: `-RecoveryExpr {{.*}} contains-errors
32-
int var = some_func(undef1);
33-
}
3412

3513
int some_func2(int a, int b);
3614
void test_invalid_call_2() {
@@ -63,22 +41,6 @@ int ambig_func(float);
6341
// DISABLED-NOT: -RecoveryExpr {{.*}} contains-errors
6442
int ambig_call = ambig_func(123);
6543

66-
// CHECK: VarDecl {{.*}} unresolved_call1
67-
// CHECK-NEXT:`-RecoveryExpr {{.*}} '<dependent type>' contains-errors
68-
// CHECK-NEXT: `-UnresolvedLookupExpr {{.*}} 'bar'
69-
// DISABLED-NOT: -RecoveryExpr {{.*}} contains-errors
70-
int unresolved_call1 = bar();
71-
72-
// CHECK: VarDecl {{.*}} unresolved_call2
73-
// CHECK-NEXT:`-CallExpr {{.*}} contains-errors
74-
// CHECK-NEXT: |-UnresolvedLookupExpr {{.*}} 'bar'
75-
// CHECK-NEXT: |-RecoveryExpr {{.*}} contains-errors
76-
// CHECK-NEXT: | `-UnresolvedLookupExpr {{.*}} 'baz'
77-
// CHECK-NEXT: `-RecoveryExpr {{.*}} contains-errors
78-
// CHECK-NEXT: `-UnresolvedLookupExpr {{.*}} 'qux'
79-
// DISABLED-NOT: -RecoveryExpr {{.*}} contains-errors
80-
int unresolved_call2 = bar(baz(), qux());
81-
8244
constexpr int a = 10;
8345

8446
// CHECK: VarDecl {{.*}} postfix_inc
@@ -177,11 +139,6 @@ void test2(Foo2 f) {
177139
f.overload(1);
178140
}
179141

180-
// CHECK: |-AlignedAttr {{.*}} alignas
181-
// CHECK-NEXT:| `-RecoveryExpr {{.*}} contains-errors
182-
// CHECK-NEXT:| `-UnresolvedLookupExpr {{.*}} 'invalid'
183-
struct alignas(invalid()) Aligned {};
184-
185142
auto f();
186143
int f(double);
187144
// CHECK: VarDecl {{.*}} unknown_type_call 'int'
@@ -203,16 +160,6 @@ void InvalidInitalizer(int x) {
203160
// CHECK-NEXT: `-InitListExpr
204161
// CHECK-NEDT: `-DeclRefExpr {{.*}} 'x'
205162
Bar a3{x};
206-
// CHECK: `-VarDecl {{.*}} a4 'Bar'
207-
// CHECK-NEXT: `-ParenListExpr {{.*}} 'NULL TYPE' contains-errors
208-
// CHECK-NEXT: `-RecoveryExpr {{.*}} contains-errors
209-
// CHECK-NEXT: `-UnresolvedLookupExpr {{.*}} 'invalid'
210-
Bar a4(invalid());
211-
// CHECK: `-VarDecl {{.*}} a5 'Bar'
212-
// CHECK-NEXT: `-InitListExpr {{.*}} contains-errors
213-
// CHECK-NEXT: `-RecoveryExpr {{.*}} contains-errors
214-
// CHECK-NEXT: `-UnresolvedLookupExpr {{.*}} 'invalid'
215-
Bar a5{invalid()};
216163

217164
// CHECK: `-VarDecl {{.*}} b1 'Bar'
218165
// CHECK-NEXT: `-RecoveryExpr {{.*}} contains-errors
@@ -231,51 +178,11 @@ void InvalidInitalizer(int x) {
231178
// CHECK-NEXT: `-InitListExpr {{.*}} 'void'
232179
// CHECK-NEXT: `-DeclRefExpr {{.*}} 'x' 'int'
233180
Bar b4 = Bar{x};
234-
// CHECK: `-VarDecl {{.*}} b5 'Bar'
235-
// CHECK-NEXT: `-CXXUnresolvedConstructExpr {{.*}} 'Bar' contains-errors 'Bar'
236-
// CHECK-NEXT: `-RecoveryExpr {{.*}} contains-errors
237-
// CHECK-NEXT: `-UnresolvedLookupExpr {{.*}} 'invalid'
238-
Bar b5 = Bar(invalid());
239-
// CHECK: `-VarDecl {{.*}} b6 'Bar'
240-
// CHECK-NEXT: `-CXXUnresolvedConstructExpr {{.*}} 'Bar' contains-errors 'Bar'
241-
// CHECK-NEXT: `-InitListExpr {{.*}} contains-errors
242-
// CHECK-NEXT: `-RecoveryExpr {{.*}} contains-errors
243-
// CHECK-NEXT: `-UnresolvedLookupExpr {{.*}} 'invalid'
244-
Bar b6 = Bar{invalid()};
245181

246182
// CHECK: RecoveryExpr {{.*}} 'Bar' contains-errors
247183
// CHECK-NEXT: `-IntegerLiteral {{.*}} 'int' 1
248184
Bar(1);
249-
250-
// CHECK: `-VarDecl {{.*}} var1
251-
// CHECK-NEXT: `-BinaryOperator {{.*}} '<dependent type>' contains-errors
252-
// CHECK-NEXT: |-RecoveryExpr {{.*}} '<dependent type>' contains-errors
253-
// CHECK-NEXT: `-IntegerLiteral {{.*}} 'int' 1
254-
int var1 = undef + 1;
255185
}
256-
void InitializerForAuto() {
257-
// CHECK: `-VarDecl {{.*}} invalid a 'auto'
258-
// CHECK-NEXT: `-RecoveryExpr {{.*}} '<dependent type>' contains-errors
259-
// CHECK-NEXT: `-UnresolvedLookupExpr {{.*}} 'invalid'
260-
auto a = invalid();
261-
262-
// CHECK: `-VarDecl {{.*}} invalid b 'auto'
263-
// CHECK-NEXT: `-CallExpr {{.*}} '<dependent type>' contains-errors
264-
// CHECK-NEXT: |-UnresolvedLookupExpr {{.*}} 'some_func'
265-
// CHECK-NEXT: `-RecoveryExpr {{.*}} '<dependent type>' contains-errors
266-
// CHECK-NEXT: `-UnresolvedLookupExpr {{.*}} 'invalid'
267-
auto b = some_func(invalid());
268-
269-
decltype(ned);
270-
// very bad initailizer: there is an unresolved typo expr internally, we just
271-
// drop it.
272-
// CHECK: `-VarDecl {{.*}} invalid unresolved_typo 'auto'
273-
auto unresolved_typo = gned.*[] {};
274-
}
275-
276-
// Verified that the generated call operator is invalid.
277-
// CHECK: |-CXXMethodDecl {{.*}} invalid operator() 'auto () const -> auto'
278-
using Escape = decltype([] { return undef(); }());
279186

280187
// CHECK: VarDecl {{.*}} NoCrashOnInvalidInitList
281188
// CHECK-NEXT: `-RecoveryExpr {{.*}} '<dependent type>' contains-errors lvalue
@@ -301,70 +208,15 @@ void ValueCategory() {
301208
xvalue(); // call to a function (rvalue reference return type) yields an xvalue.
302209
}
303210

304-
void InvalidCondition() {
305-
// CHECK: IfStmt {{.*}}
306-
// CHECK-NEXT: |-RecoveryExpr {{.*}} <col:7, col:15> '<dependent type>' contains-errors
307-
// CHECK-NEXT: | `-UnresolvedLookupExpr {{.*}} <col:7>
308-
if (invalid()) {}
309-
310-
// CHECK: WhileStmt {{.*}}
311-
// CHECK-NEXT: |-RecoveryExpr {{.*}} <col:10, col:18> '<dependent type>' contains-errors
312-
// CHECK-NEXT: | `-UnresolvedLookupExpr {{.*}} <col:10>
313-
while (invalid()) {}
314-
315-
// CHECK: SwitchStmt {{.*}}
316-
// CHECK-NEXT: |-RecoveryExpr {{.*}} '<dependent type>' contains-errors
317-
// CHECK-NEXT: | `-UnresolvedLookupExpr {{.*}} <col:10>
318-
switch(invalid()) {
319-
case 1:
320-
break;
321-
}
322-
// FIXME: figure out why the type of ConditionalOperator is not int.
323-
// CHECK: ConditionalOperator {{.*}} '<dependent type>' contains-errors
324-
// CHECK-NEXT: |-RecoveryExpr {{.*}} '<dependent type>' contains-errors
325-
// CHECK-NEXT: | `-UnresolvedLookupExpr {{.*}}
326-
// CHECK-NEXT: |-IntegerLiteral {{.*}} 'int' 1
327-
// CHECK-NEXT: `-IntegerLiteral {{.*}} 'int' 2
328-
invalid() ? 1 : 2;
329-
}
330-
331211
void CtorInitializer() {
332212
struct S{int m};
333-
class MemberInit {
334-
int x, y, z;
335-
S s;
336-
MemberInit() : x(invalid), y(invalid, invalid), z(invalid()), s(1,2) {}
337-
// CHECK: CXXConstructorDecl {{.*}} MemberInit 'void ()'
338-
// CHECK-NEXT: |-CXXCtorInitializer Field {{.*}} 'x' 'int'
339-
// CHECK-NEXT: | `-ParenListExpr
340-
// CHECK-NEXT: | `-RecoveryExpr {{.*}} '<dependent type>'
341-
// CHECK-NEXT: |-CXXCtorInitializer Field {{.*}} 'y' 'int'
342-
// CHECK-NEXT: | `-ParenListExpr
343-
// CHECK-NEXT: | |-RecoveryExpr {{.*}} '<dependent type>'
344-
// CHECK-NEXT: | `-RecoveryExpr {{.*}} '<dependent type>'
345-
// CHECK-NEXT: |-CXXCtorInitializer Field {{.*}} 'z' 'int'
346-
// CHECK-NEXT: | `-ParenListExpr
347-
// CHECK-NEXT: | `-RecoveryExpr {{.*}} '<dependent type>'
348-
// CHECK-NEXT: | `-UnresolvedLookupExpr {{.*}} '<overloaded function type>'
349-
// CHECK-NEXT: |-CXXCtorInitializer Field {{.*}} 's' 'S'
350-
// CHECK-NEXT: | `-RecoveryExpr {{.*}} 'S' contains-errors
351-
// CHECK-NEXT: | |-IntegerLiteral {{.*}} 1
352-
// CHECK-NEXT: | `-IntegerLiteral {{.*}} 2
353-
};
354213
class BaseInit : S {
355214
BaseInit(float) : S("no match") {}
356215
// CHECK: CXXConstructorDecl {{.*}} BaseInit 'void (float)'
357216
// CHECK-NEXT: |-ParmVarDecl
358217
// CHECK-NEXT: |-CXXCtorInitializer 'S'
359218
// CHECK-NEXT: | `-RecoveryExpr {{.*}} 'S'
360219
// CHECK-NEXT: | `-StringLiteral
361-
362-
BaseInit(double) : S(invalid) {}
363-
// CHECK: CXXConstructorDecl {{.*}} BaseInit 'void (double)'
364-
// CHECK-NEXT: |-ParmVarDecl
365-
// CHECK-NEXT: |-CXXCtorInitializer 'S'
366-
// CHECK-NEXT: | `-ParenListExpr
367-
// CHECK-NEXT: | `-RecoveryExpr {{.*}} '<dependent type>'
368220
};
369221
class DelegatingInit {
370222
DelegatingInit(float) : DelegatingInit("no match") {}
@@ -373,13 +225,6 @@ void CtorInitializer() {
373225
// CHECK-NEXT: |-CXXCtorInitializer 'DelegatingInit'
374226
// CHECK-NEXT: | `-RecoveryExpr {{.*}} 'DelegatingInit'
375227
// CHECK-NEXT: | `-StringLiteral
376-
377-
DelegatingInit(double) : DelegatingInit(invalid) {}
378-
// CHECK: CXXConstructorDecl {{.*}} DelegatingInit 'void (double)'
379-
// CHECK-NEXT: |-ParmVarDecl
380-
// CHECK-NEXT: |-CXXCtorInitializer 'DelegatingInit'
381-
// CHECK-NEXT: | `-ParenListExpr
382-
// CHECK-NEXT: | `-RecoveryExpr {{.*}} '<dependent type>'
383228
};
384229
}
385230

@@ -423,64 +268,6 @@ void returnInitListFromVoid() {
423268
// CHECK-NEXT: `-IntegerLiteral {{.*}} 'int' 8
424269
}
425270

426-
void RecoveryExprForInvalidDecls(Unknown InvalidDecl) {
427-
InvalidDecl + 1;
428-
// CHECK: BinaryOperator {{.*}}
429-
// CHECK-NEXT: |-RecoveryExpr {{.*}} '<dependent type>'
430-
// CHECK-NEXT: | | `-DeclRefExpr {{.*}} 'InvalidDecl' 'int'
431-
// CHECK-NEXT: `-IntegerLiteral {{.*}} 'int' 1
432-
InvalidDecl();
433-
// CHECK: CallExpr {{.*}}
434-
// CHECK-NEXT: `-RecoveryExpr {{.*}} '<dependent type>'
435-
}
436-
437-
void InitializerOfInvalidDecl() {
438-
int ValidDecl;
439-
Unkown InvalidDecl = ValidDecl;
440-
// CHECK: VarDecl {{.*}} invalid InvalidDecl
441-
// CHECK-NEXT: `-RecoveryExpr {{.*}} '<dependent type>' contains-errors
442-
// CHECK-NEXT: `-DeclRefExpr {{.*}} 'int' lvalue Var {{.*}} 'ValidDecl'
443-
444-
Unknown InvalidDeclWithInvalidInit = Invalid;
445-
// CHECK: VarDecl {{.*}} invalid InvalidDeclWithInvalidInit
446-
// CHECK-NEXT: `-RecoveryExpr {{.*}} '<dependent type>' contains-errors
447-
}
448-
449-
void RecoverToAnInvalidDecl() {
450-
Unknown* foo; // invalid decl
451-
goo; // the typo was correct to the invalid foo.
452-
// Verify that RecoveryExpr has an inner DeclRefExpr.
453-
// CHECK: RecoveryExpr {{.*}} '<dependent type>' contains-errors lvalue
454-
// CHECK-NEXT: `-DeclRefExpr {{.*}} 'foo' 'int *'
455-
}
456-
457-
void RecoveryToDoWhileStmtCond() {
458-
// CHECK: FunctionDecl {{.*}} RecoveryToDoWhileStmtCond
459-
// CHECK: `-DoStmt {{.*}}
460-
// CHECK-NEXT: |-CompoundStmt {{.*}}
461-
// CHECK-NEXT: `-BinaryOperator {{.*}} '<dependent type>' contains-errors '<'
462-
// CHECK-NEXT: |-BinaryOperator {{.*}} '<dependent type>' contains-errors '+'
463-
// CHECK-NEXT: | |-RecoveryExpr {{.*}} '<dependent type>' contains-errors lvalue
464-
// CHECK-NEXT: | `-IntegerLiteral {{.*}} 'int' 1
465-
// CHECK-NEXT: `-IntegerLiteral {{.*}} 'int' 10
466-
do {} while (some_invalid_val + 1 < 10);
467-
}
468-
469-
void RecoveryForStmtCond() {
470-
// CHECK:FunctionDecl {{.*}} RecoveryForStmtCond
471-
// CHECK-NEXT:`-CompoundStmt {{.*}}
472-
// CHECK-NEXT: `-ForStmt {{.*}}
473-
// CHECK-NEXT: |-DeclStmt {{.*}}
474-
// CHECK-NEXT: | `-VarDecl {{.*}}
475-
// CHECK-NEXT: | `-IntegerLiteral {{.*}} <col:16> 'int' 0
476-
// CHECK-NEXT: |-<<<NULL>>>
477-
// CHECK-NEXT: |-RecoveryExpr {{.*}} 'bool' contains-errors
478-
// CHECK-NEXT: |-UnaryOperator {{.*}} 'int' lvalue prefix '++'
479-
// CHECK-NEXT: | `-DeclRefExpr {{.*}} 'int' lvalue Var {{.*}} 'i' 'int'
480-
// CHECK-NEXT: `-CompoundStmt {{.*}}
481-
for (int i = 0; i < invalid; ++i) {}
482-
}
483-
484271
// Fix crash issue https://github.com/llvm/llvm-project/issues/112560.
485272
// Make sure clang compiles the following code without crashing:
486273

clang/test/AST/ast-dump-recovery.m

Lines changed: 0 additions & 32 deletions
This file was deleted.

0 commit comments

Comments
 (0)