Bruno Ricci | 7a7d50e | 2020-07-08 16:36:48 +0100 | [diff] [blame] | 1 | // Test without serialization: |
Bruno Ricci | f63e3ea | 2020-07-06 21:50:23 +0100 | [diff] [blame] | 2 | // RUN: %clang_cc1 -triple x86_64-unknown-unknown -Wno-unused-value -std=gnu++17 \ |
| 3 | // RUN: -ast-dump %s -ast-dump-filter Test \ |
| 4 | // RUN: | FileCheck --strict-whitespace --match-full-lines %s |
Bruno Ricci | 7a7d50e | 2020-07-08 16:36:48 +0100 | [diff] [blame] | 5 | // |
| 6 | // Test with serialization: |
| 7 | // RUN: %clang_cc1 -triple x86_64-unknown-unknown -Wno-unused-value -std=gnu++17 -emit-pch -o %t %s |
| 8 | // RUN: %clang_cc1 -x c++ -triple x86_64-unknown-unknown -Wno-unused-value -std=gnu++17 \ |
| 9 | // RUN: -include-pch %t -ast-dump-all -ast-dump-filter Test /dev/null \ |
| 10 | // RUN: | sed -e "s/ <undeserialized declarations>//" -e "s/ imported//" \ |
| 11 | // RUN: | FileCheck --strict-whitespace --match-full-lines %s |
Bruno Ricci | f63e3ea | 2020-07-06 21:50:23 +0100 | [diff] [blame] | 12 | |
| 13 | int i; |
| 14 | struct S { |
| 15 | int i; |
| 16 | }; |
| 17 | |
| 18 | void Test() { |
| 19 | constexpr int *pi = &i; |
| 20 | // CHECK: | `-VarDecl {{.*}} <col:{{.*}}, col:{{.*}}> col:{{.*}} pi 'int *const' constexpr cinit |
| 21 | // CHECK-NEXT: | |-value: LValue <todo> |
| 22 | |
| 23 | constexpr int(S::*pmi) = &S::i; |
| 24 | // CHECK: `-VarDecl {{.*}} <col:{{.*}}, col:{{.*}}> col:{{.*}} pmi 'int (S::*const)' constexpr cinit |
| 25 | // CHECK-NEXT: |-value: MemberPointer <todo> |
| 26 | } |