blob: eba057f93c9c25f13777c0f4f69027ea08fcf38b [file] [log] [blame] [edit]
// Test without serialization:
// RUN: %clang_cc1 -std=c23 -fdefer-ts -ast-dump %s -triple x86_64-linux-gnu \
// RUN: | FileCheck %s
//
// Test with serialization:
// RUN: %clang_cc1 -std=c23 -fdefer-ts -triple x86_64-linux-gnu -emit-pch -o %t %s
// RUN: %clang_cc1 -std=c23 -fdefer-ts -triple x86_64-linux-gnu -include-pch %t -ast-dump-all /dev/null \
// RUN: | FileCheck %s
static inline void f() {
_Defer 3;
_Defer { 4; }
_Defer _Defer if (true) {}
}
// CHECK-LABEL: f 'void (void)' static inline
// CHECK-NEXT: `-CompoundStmt {{.*}} <col:24, line:14:1>
// CHECK-NEXT: |-DeferStmt {{.*}} <line:11:3, col:10>
// CHECK-NEXT: | `-IntegerLiteral {{.*}} <col:10> 'int' 3
// CHECK-NEXT: |-DeferStmt {{.*}} <line:12:3, col:15>
// CHECK-NEXT: | `-CompoundStmt {{.*}} <col:10, col:15>
// CHECK-NEXT: | `-IntegerLiteral {{.*}} <col:12> 'int' 4
// CHECK-NEXT: `-DeferStmt {{.*}} <line:13:3, col:28>
// CHECK-NEXT: `-DeferStmt {{.*}} <col:10, col:28>
// CHECK-NEXT: `-IfStmt {{.*}} <col:17, col:28>
// CHECK-NEXT: |-CXXBoolLiteralExpr {{.*}} <col:21> 'bool' true
// CHECK-NEXT: `-CompoundStmt {{.*}} <col:27, col:28>