brintos

brintos / llvm-project-archived public Read only

0
0
Text · 656 B · fa2b4f1 Raw
24 lines · c
1// Test that misexpect emits no warning when condition is not a compile-time constant2 3// RUN: llvm-profdata merge %S/Inputs/misexpect-branch-nonconst-expect-arg.proftext -o %t.profdata4// RUN: %clang_cc1 %s -O2 -o - -disable-llvm-passes -emit-llvm -fprofile-instrument-use=clang -fprofile-instrument-use-path=%t.profdata -verify -Wmisexpect5 6// expected-no-diagnostics7int foo(int);8int baz(int);9int buzz();10 11const int inner_loop = 100;12const int outer_loop = 2000;13 14int bar() {15  int rando = buzz();16  int x = 0;17  if (__builtin_expect(rando % (outer_loop * inner_loop) == 0, buzz())) {18    x = baz(rando);19  } else {20    x = foo(50);21  }22  return x;23}24