1 // RUN: %clang_cc1 -std=c++2b %s -emit-llvm -o - | FileCheck %s
2 
3 void should_be_used_1();
4 void should_be_used_2();
5 void should_be_used_3();
6 constexpr void should_not_be_used() {}
7 
8 constexpr void f() {
9   if consteval {
10     should_not_be_used(); // CHECK-NOT: call {{.*}}should_not_be_used
11   } else {
12     should_be_used_1();  // CHECK: call {{.*}}should_be_used_1
13   }
14 
15   if !consteval {
16     should_be_used_2();  // CHECK: call {{.*}}should_be_used_2
17   }
18 
19   if !consteval {
20     should_be_used_3();  // CHECK: call {{.*}}should_be_used_3
21   } else {
22     should_not_be_used(); // CHECK-NOT: call {{.*}}should_not_be_used
23   }
24 }
25 
26 void g() {
27   f();
28 }
29