mirror of
https://github.com/llvm/llvm-project.git
synced 2025-04-27 21:56:04 +00:00

This patch dump the rewritten sub-expressions in `CXXDefaultArgExpr` and `CXXDefaultInitExpr`. This machinery is useful for checking whether the materialized temporaries is lifetime-extended in the sub-AST of `CXXDefaultArgExpr` (`CXXDefaultInitExpr` has not been lifetime extendend now). Signed-off-by: yronglin <yronglin777@gmail.com>
29 lines
698 B
C++
29 lines
698 B
C++
// RUN: clang-import-test -dump-ast -import %S/Inputs/S.cpp -expression %s | FileCheck %s
|
|
// CHECK: CXXCtorInitializer
|
|
// CHECK-SAME: 'int_member'
|
|
// CHECK-SAME: 'int'
|
|
// CHECK-NEXT: CXXDefaultInitExpr
|
|
// CHECK-SAME: 'int'
|
|
// CHECK-NEXT: IntegerLiteral
|
|
// CHECK-SAME: 'int'
|
|
|
|
// CHECK-NEXT: CXXCtorInitializer
|
|
// CHECK-SAME: 'float_member'
|
|
// CHECK-SAME: 'float'
|
|
// CHECK-NEXT: CXXDefaultInitExpr
|
|
// CHECK-SAME: 'float'
|
|
// CHECK-NEXT: FloatingLiteral
|
|
// CHECK-SAME: 'float'
|
|
|
|
// CHECK-NEXT: CXXCtorInitializer
|
|
// CHECK-SAME: 'class_member'
|
|
// CHECK-SAME: 'Foo'
|
|
// CHECK-NEXT: CXXDefaultInitExpr
|
|
// CHECK-SAME: 'Foo'
|
|
// CHECK-NEXT: ExprWithCleanups
|
|
// CHECK-SAME: 'Foo'
|
|
|
|
void expr() {
|
|
struct S s;
|
|
}
|