xref: /llvm-project/clang/test/CodeGen/ubsan-function.c (revision 279a4d0d67c874e80c171666822f2fabdd6fa926)
1*279a4d0dSFangrui Song // RUN: %clang_cc1 -emit-llvm -triple x86_64 -std=c17 -fsanitize=function %s -o - | FileCheck %s
2*279a4d0dSFangrui Song 
3*279a4d0dSFangrui Song // CHECK-LABEL: define{{.*}} @call_no_prototype(
4*279a4d0dSFangrui Song // CHECK-NOT:     __ubsan_handle_function_type_mismatch
call_no_prototype(void (* f)())5*279a4d0dSFangrui Song void call_no_prototype(void (*f)()) { f(); }
6*279a4d0dSFangrui Song 
7*279a4d0dSFangrui Song // CHECK-LABEL: define{{.*}} @call_prototype(
8*279a4d0dSFangrui Song // CHECK:         __ubsan_handle_function_type_mismatch
call_prototype(void (* f)(void))9*279a4d0dSFangrui Song void call_prototype(void (*f)(void)) { f(); }
10