brintos

brintos / llvm-project-archived public Read only

0
0
Text · 1.2 KiB · a5f1b66 Raw
38 lines · cpp
1// RUN: %clang_analyze_cc1 -analyzer-checker=alpha.clone.CloneChecker -analyzer-config alpha.clone.CloneChecker:MinimumCloneComplexity=5 -verify %s2 3// This test should verify that there is no crash if the detected clone range4// starts in a file and ends in a different file.5 6void f_end(int i) {7  if (i == 10) // expected-warning{{Duplicate code detected}}8#include "Inputs/clone-begin-end-different-file-end.inc"9  if (i == 10) // expected-note{{Similar code here}}10#include "Inputs/clone-begin-end-different-file-end.inc"11}12 13void f_begin(int i) {14#include "Inputs/clone-begin-end-different-file-begin-1.inc"15    if (true) {}16#include "Inputs/clone-begin-end-different-file-begin-2.inc"17    if (true) {}18}19 20#define X while (true) {}21 22void f1m(int i) {23  if (i == 10) // expected-warning{{Duplicate code detected}}24#include "Inputs/clone-begin-end-different-file-end-macro.inc"25  if (i == 10) // expected-note{{Similar code here}}26#include "Inputs/clone-begin-end-different-file-end-macro.inc"27}28 29#undef X30#define X if (i == 10)31 32void f2m(int i) {33#include "Inputs/clone-begin-end-different-file-begin-macro-1.inc"34    while (true) { i = 1; }35#include "Inputs/clone-begin-end-different-file-begin-macro-2.inc"36    while (true) { i = 1; }37}38