Lines Matching +full:abs +full:- +full:range

1 //===-- ubsan_handlers_cxx.cpp --------------------------------------------===//
5 // SPDX-License-Identifier: Apache-2.0 WITH LLVM-exception
7 //===----------------------------------------------------------------------===//
13 //===----------------------------------------------------------------------===//
36 if (checkDynamicType((void*)Pointer, Data->TypeInfo, Hash)) in HandleDynamicTypeCacheMiss()
45 SourceLocation Loc = Data->Loc.acquire(); in HandleDynamicTypeCacheMiss()
54 << TypeCheckKinds[Data->TypeCheckKind] << (void*)Pointer << Data->Type; in HandleDynamicTypeCacheMiss()
58 if (DTI.getOffset() < -VptrMaxOffsetToTop || DTI.getOffset() > VptrMaxOffsetToTop) { in HandleDynamicTypeCacheMiss()
60 "object has a possibly invalid vptr: abs(offset to top) too big") in HandleDynamicTypeCacheMiss()
62 << Range(Pointer, Pointer + sizeof(uptr), "possibly invalid vptr"); in HandleDynamicTypeCacheMiss()
66 << Range(Pointer, Pointer + sizeof(uptr), "invalid vptr"); in HandleDynamicTypeCacheMiss()
71 << Range(Pointer, Pointer + sizeof(uptr), "vptr for %0"); in HandleDynamicTypeCacheMiss()
75 Diag(Pointer - DTI.getOffset(), DL_Note, ET, in HandleDynamicTypeCacheMiss()
79 << Range(Pointer, Pointer + sizeof(uptr), in HandleDynamicTypeCacheMiss()
91 // Note: -fsanitize=vptr is always recoverable. in __ubsan_handle_dynamic_type_cache_miss_abort()
100 SourceLocation Loc = Data->Loc.acquire(); in __ubsan_handle_cfi_bad_type()
112 switch (Data->CheckKind) { in __ubsan_handle_cfi_bad_type()
117 CheckKindStr = "non-virtual call"; in __ubsan_handle_cfi_bad_type()
120 CheckKindStr = "base-to-derived cast"; in __ubsan_handle_cfi_bad_type()
136 << Data->Type << CheckKindStr << (void *)Vtable; in __ubsan_handle_cfi_bad_type()
147 const char *DstModule = Symbolizer::GetOrInit()->GetModuleNameForPc(Vtable); in __ubsan_handle_cfi_bad_type()
151 const char *SrcModule = Symbolizer::GetOrInit()->GetModuleNameForPc(Opts.pc); in __ubsan_handle_cfi_bad_type()