55 lines · c
1// Test without serialization:2// RUN: %clang_cc1 -triple x86_64-pc-linux \3// RUN: -Wno-deprecated-declarations -ast-dump -ast-dump-filter Test %s \4// RUN: | FileCheck --strict-whitespace %s5//6// Test with serialization:7// RUN: %clang_cc1 -triple x86_64-pc-linux \8// RUN: -Wno-deprecated-declarations -emit-pch -o %t %s9// RUN: %clang_cc1 -x c -triple x86_64-pc-linux \10// RUN: -Wno-deprecated-declarations -include-pch %t -ast-dump-all -ast-dump-filter Test /dev/null \11// RUN: | sed -e "s/ <undeserialized declarations>//" -e "s/ imported//" \12// RUN: | FileCheck --strict-whitespace %s13 14int Test1 [[deprecated]];15// CHECK: VarDecl{{.*}}Test116// CHECK-NEXT: DeprecatedAttr 0x{{[^ ]*}} <col:13> "" ""17 18enum [[deprecated("Frobble")]] Test2 {19 Test3 [[deprecated]]20};21// CHECK: EnumDecl{{.*}}Test222// CHECK-NEXT: DeprecatedAttr 0x{{[^ ]*}} <col:8, col:28> "Frobble" ""23// CHECK-NEXT: EnumConstantDecl{{.*}}Test324// CHECK-NEXT: DeprecatedAttr 0x{{[^ ]*}} <col:11> "" ""25 26struct [[deprecated]] Test4 {27 [[deprecated("Frobble")]] int Test5, Test6;28 int Test7 [[deprecated]] : 12;29};30// CHECK: RecordDecl{{.*}}Test431// CHECK-NEXT: DeprecatedAttr 0x{{[^ ]*}} <col:10> "" ""32// CHECK-NEXT: FieldDecl{{.*}}Test533// CHECK-NEXT: DeprecatedAttr 0x{{[^ ]*}} <col:5, col:25> "Frobble" ""34// CHECK-NEXT: FieldDecl{{.*}}Test635// CHECK-NEXT: DeprecatedAttr 0x{{[^ ]*}} <col:5, col:25> "Frobble" ""36// CHECK-NEXT: FieldDecl{{.*}}Test737// CHECK-NEXT: ConstantExpr{{.*}}'int'38// CHECK-NEXT: value: Int 1239// CHECK-NEXT: IntegerLiteral{{.*}}'int' 1240// CHECK-NEXT: DeprecatedAttr 0x{{[^ ]*}} <col:15> "" ""41 42struct [[deprecated]] Test8;43// CHECK: RecordDecl{{.*}}Test844// CHECK-NEXT: DeprecatedAttr 0x{{[^ ]*}} <col:10> "" ""45 46[[deprecated]] void Test9(int Test10 [[deprecated]]);47// CHECK: FunctionDecl{{.*}}Test948// CHECK-NEXT: ParmVarDecl{{.*}}Test1049// CHECK-NEXT: DeprecatedAttr 0x{{[^ ]*}} <col:40> "" ""50// CHECK-NEXT: DeprecatedAttr 0x{{[^ ]*}} <col:3> "" ""51 52void Test11 [[deprecated]](void);53// CHECK: FunctionDecl{{.*}}Test1154// CHECK-NEXT: DeprecatedAttr 0x{{[^ ]*}} <col:15> "" ""55