29 lines · cpp
1// RUN: %clang_analyze_cc1 -analyzer-checker=debug.DumpCFG -analyzer-config cfg-expand-default-aggr-inits=true %s > %t 2>&12// RUN: FileCheck --input-file=%t %s3 4static char a[] = "foobar";5 6struct StringRef {7 const char *member = nullptr;8 int len = 3;9};10 11int main() {12 StringRef s{a};13 (void)s;14}15 16// CHECK: [B1]17// CHECK-NEXT: 1: a18// CHECK-NEXT: 2: [B1.1] (ImplicitCastExpr, ArrayToPointerDecay, char *)19// CHECK-NEXT: 3: [B1.2] (ImplicitCastExpr, NoOp, const char *)20// CHECK-NEXT: 4: 321// CHECK-NEXT: 5: 22// CHECK-NEXT: 6: {[B1.1]}23// CHECK-NEXT: 7: StringRef s{a};24// CHECK-NEXT: 8: s25// CHECK-NEXT: 9: (void)[B1.8] (CStyleCastExpr, ToVoid, void)26// CHECK-NEXT: Preds (1): B227// CHECK-NEXT: Succs (1): B028 29