mirror of
https://github.com/RPCS3/llvm-mirror.git
synced 2025-01-11 06:06:52 +00:00
[asan] support long double on 64-bit. See https://code.google.com/p/address-sanitizer/issues/detail?id=151
llvm-svn: 175266
This commit is contained in:
parent
e11f88e804
commit
3a987c6d69
@ -639,7 +639,7 @@ void AddressSanitizer::instrumentMop(Instruction *I) {
|
|||||||
Type *OrigTy = cast<PointerType>(OrigPtrTy)->getElementType();
|
Type *OrigTy = cast<PointerType>(OrigPtrTy)->getElementType();
|
||||||
|
|
||||||
assert(OrigTy->isSized());
|
assert(OrigTy->isSized());
|
||||||
uint32_t TypeSize = TD->getTypeStoreSizeInBits(OrigTy);
|
uint32_t TypeSize = TD->getTypeAllocSizeInBits(OrigTy);
|
||||||
|
|
||||||
if (TypeSize != 8 && TypeSize != 16 &&
|
if (TypeSize != 8 && TypeSize != 16 &&
|
||||||
TypeSize != 32 && TypeSize != 64 && TypeSize != 128) {
|
TypeSize != 32 && TypeSize != 64 && TypeSize != 128) {
|
||||||
|
@ -89,3 +89,12 @@ entry:
|
|||||||
; CHECK-NOT: = alloca
|
; CHECK-NOT: = alloca
|
||||||
; CHECK: ret void
|
; CHECK: ret void
|
||||||
|
|
||||||
|
define void @LongDoubleTest(x86_fp80* nocapture %a) nounwind uwtable address_safety {
|
||||||
|
entry:
|
||||||
|
store x86_fp80 0xK3FFF8000000000000000, x86_fp80* %a, align 16
|
||||||
|
ret void
|
||||||
|
}
|
||||||
|
|
||||||
|
; CHECK: LongDoubleTest
|
||||||
|
; CHECK: __asan_report_store16
|
||||||
|
; CHECK: ret void
|
||||||
|
Loading…
x
Reference in New Issue
Block a user