diff options
| author | Will Dietz <wdietz2@illinois.edu> | 2013-01-07 09:51:17 +0000 |
|---|---|---|
| committer | Will Dietz <wdietz2@illinois.edu> | 2013-01-07 09:51:17 +0000 |
| commit | df9a2bbcb1a812f0977964d56714e444374dcd80 (patch) | |
| tree | 94bda76de97f660038a8ecfd1766975ea5113792 /clang/test | |
| parent | 1b89629616f6562e40896b9ae62e9f4bebcbaec1 (diff) | |
| download | bcm5719-llvm-df9a2bbcb1a812f0977964d56714e444374dcd80.tar.gz bcm5719-llvm-df9a2bbcb1a812f0977964d56714e444374dcd80.zip | |
CFG.cpp: Fix wrapping logic when printing block preds/succs.
First check only wrapped with i==8, second wrapped at i==2,8,18,28,...
This fix restores the intended behavior: i==8,18,28,...
Found with -fsanitize=integer.
llvm-svn: 171718
Diffstat (limited to 'clang/test')
| -rw-r--r-- | clang/test/Analysis/cfg.cpp | 37 |
1 files changed, 37 insertions, 0 deletions
diff --git a/clang/test/Analysis/cfg.cpp b/clang/test/Analysis/cfg.cpp new file mode 100644 index 00000000000..8c1c7653db1 --- /dev/null +++ b/clang/test/Analysis/cfg.cpp @@ -0,0 +1,37 @@ +// RUN: %clang_cc1 -fsyntax-only -analyze -analyzer-checker=debug.DumpCFG %s 2>&1 | FileCheck %s +// Check the wrapping behavior when dumping the CFG. + +// CHECK: ENTRY +// CHECK-NEXT: Succs (1): B1 +// CHECK: [B1] +// CHECK: Succs (21): B2 B3 B4 B5 B6 B7 B8 B9 +// CHECK: B10 B11 B12 B13 B14 B15 B16 B17 B18 B19 +// CHECK: B20 B21 B0 +// CHECK: [B0 (EXIT)] +// CHECK-NEXT: Preds (21): B2 B3 B4 B5 B6 B7 B8 B9 +// CHECK-NEXT: B10 B11 B12 B13 B14 B15 B16 B17 B18 B19 +// CHECK-NEXT: B20 B21 B1 +void test(int i) { + switch(i) { + case 0: break; + case 1: break; + case 2: break; + case 3: break; + case 4: break; + case 5: break; + case 6: break; + case 7: break; + case 8: break; + case 9: break; + case 10: break; + case 11: break; + case 12: break; + case 13: break; + case 14: break; + case 15: break; + case 16: break; + case 17: break; + case 18: break; + case 19: break; + } +} |

