llvm.org GIT mirror llvm / 74ecd21
[asan] support long double on 64-bit. See https://code.google.com/p/address-sanitizer/issues/detail?id=151 git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@175266 91177308-0d34-0410-b5e6-96231b3b80d8 Kostya Serebryany 6 years ago
2 changed file(s) with 10 addition(s) and 1 deletion(s). Raw diff Collapse all Expand all
638638 Type *OrigTy = cast(OrigPtrTy)->getElementType();
639639
640640 assert(OrigTy->isSized());
641 uint32_t TypeSize = TD->getTypeStoreSizeInBits(OrigTy);
641 uint32_t TypeSize = TD->getTypeAllocSizeInBits(OrigTy);
642642
643643 if (TypeSize != 8 && TypeSize != 16 &&
644644 TypeSize != 32 && TypeSize != 64 && TypeSize != 128) {
8888 ; CHECK-NOT: = alloca
8989 ; CHECK: ret void
9090
91 define void @LongDoubleTest(x86_fp80* nocapture %a) nounwind uwtable address_safety {
92 entry:
93 store x86_fp80 0xK3FFF8000000000000000, x86_fp80* %a, align 16
94 ret void
95 }
96
97 ; CHECK: LongDoubleTest
98 ; CHECK: __asan_report_store16
99 ; CHECK: ret void