// RUN: %clang_cc1 -std=c++20 -triple x86_64-unknown-linux-gnu -fclangir -emit-cir %s -o %t.cir // RUN: FileCheck --input-file=%t.cir %s -check-prefix=CIR // RUN: %clang_cc1 -std=c++20 -triple x86_64-unknown-linux-gnu -fclangir -emit-llvm %s -o %t.ll // RUN: FileCheck --input-file=%t.ll %s -check-prefix=LLVM // RUN: %clang_cc1 -std=c++20 -triple x86_64-unknown-linux-gnu -emit-llvm %s -o %t.ll // RUN: FileCheck --input-file=%t.ll %s -check-prefix=OGCG void test_basic() { __builtin_verbose_trap("Category", "Reason"); } // CIR: cir.func {{.*}}@_Z10test_basicv() // CIR: cir.trap // LLVM: define{{.*}} void @_Z10test_basicv() // LLVM: call void @llvm.trap() // OGCG: define{{.*}} void @_Z10test_basicv() // OGCG: call void @llvm.trap() void test_multiple(bool cond) { if (cond) { __builtin_verbose_trap("Cat1", "Reason1"); } else { __builtin_verbose_trap("Cat2", "Reason2"); } } // CIR: cir.func {{.*}}@_Z13test_multipleb // CIR: cir.trap // CIR: cir.trap // LLVM: define{{.*}} void @_Z13test_multipleb // LLVM: call void @llvm.trap() // LLVM: call void @llvm.trap() // OGCG: define{{.*}} void @_Z13test_multipleb // OGCG: call void @llvm.trap() // OGCG: call void @llvm.trap()