ubsan_interface.h uses the macro SANITIZER_CDECL. This is defined in sanitizer/common_interface_defs.h, but that file is not included. This means that any user code wanting to use the ubsan interface would need to modify ubsan_interface.h to include the sanitizer/common_interface_defs.h, or to include it in their code.