diff options
Diffstat (limited to 'pkgs/development/compilers/llvm/13/clang/revert-malloc-alignment-assumption.patch')
-rw-r--r-- | pkgs/development/compilers/llvm/13/clang/revert-malloc-alignment-assumption.patch | 78 |
1 files changed, 0 insertions, 78 deletions
diff --git a/pkgs/development/compilers/llvm/13/clang/revert-malloc-alignment-assumption.patch b/pkgs/development/compilers/llvm/13/clang/revert-malloc-alignment-assumption.patch deleted file mode 100644 index f8e55ff7f897..000000000000 --- a/pkgs/development/compilers/llvm/13/clang/revert-malloc-alignment-assumption.patch +++ /dev/null @@ -1,78 +0,0 @@ ---- b/include/clang/Basic/TargetInfo.h -+++ a/include/clang/Basic/TargetInfo.h -@@ -612,8 +612,8 @@ - } - - /// Return the largest alignment for which a suitably-sized allocation with -+ /// '::operator new(size_t)' is guaranteed to produce a correctly-aligned -+ /// pointer. -- /// '::operator new(size_t)' or 'malloc' is guaranteed to produce a -- /// correctly-aligned pointer. - unsigned getNewAlign() const { - return NewAlign ? NewAlign : std::max(LongDoubleAlign, LongLongAlign); - } ---- b/lib/CodeGen/CGCall.cpp -+++ a/lib/CodeGen/CGCall.cpp -@@ -2048,24 +2048,6 @@ - // allows it to work on indirect virtual function calls. - if (AttrOnCallSite && TargetDecl->hasAttr<NoMergeAttr>()) - FuncAttrs.addAttribute(llvm::Attribute::NoMerge); -- -- // Add known guaranteed alignment for allocation functions. -- if (unsigned BuiltinID = Fn->getBuiltinID()) { -- switch (BuiltinID) { -- case Builtin::BIaligned_alloc: -- case Builtin::BIcalloc: -- case Builtin::BImalloc: -- case Builtin::BImemalign: -- case Builtin::BIrealloc: -- case Builtin::BIstrdup: -- case Builtin::BIstrndup: -- RetAttrs.addAlignmentAttr(Context.getTargetInfo().getNewAlign() / -- Context.getTargetInfo().getCharWidth()); -- break; -- default: -- break; -- } -- } - } - - // 'const', 'pure' and 'noalias' attributed functions are also nounwind. ---- b/test/CodeGen/alloc-fns-alignment.c -+++ /dev/null -@@ -1,35 +0,0 @@ --// RUN: %clang_cc1 -triple x86_64-unknown-linux-gnu -emit-llvm < %s | FileCheck %s --check-prefix=ALIGN16 --// RUN: %clang_cc1 -triple x86_64-windows-msvc -emit-llvm < %s | FileCheck %s --check-prefix=ALIGN16 --// RUN: %clang_cc1 -triple i386-apple-darwin -emit-llvm < %s | FileCheck %s --check-prefix=ALIGN16 --// RUN: %clang_cc1 -triple i386-unknown-linux-gnu -emit-llvm < %s | FileCheck %s --check-prefix=ALIGN8 --// RUN: %clang_cc1 -triple x86_64-unknown-linux-gnu -fno-builtin-malloc -emit-llvm < %s | FileCheck %s --check-prefix=NOBUILTIN-MALLOC --// RUN: %clang_cc1 -triple x86_64-unknown-linux-gnu -fno-builtin-calloc -emit-llvm < %s | FileCheck %s --check-prefix=NOBUILTIN-CALLOC --// RUN: %clang_cc1 -triple x86_64-unknown-linux-gnu -fno-builtin-realloc -emit-llvm < %s | FileCheck %s --check-prefix=NOBUILTIN-REALLOC -- --typedef __SIZE_TYPE__ size_t; -- --void *malloc(size_t); --void *calloc(size_t, size_t); --void *realloc(void *, size_t); -- --void *malloc_test(size_t n) { -- return malloc(n); --} -- --void *calloc_test(size_t n) { -- return calloc(1, n); --} -- --void *raalloc_test(void *p, size_t n) { -- return realloc(p, n); --} -- --// ALIGN16: align 16 i8* @malloc --// ALIGN16: align 16 i8* @calloc --// ALIGN16: align 16 i8* @realloc --// ALIGN8: align 8 i8* @malloc --// ALIGN8: align 8 i8* @calloc --// ALIGN8: align 8 i8* @realloc --// NOBUILTIN-MALLOC: declare i8* @malloc --// NOBUILTIN-CALLOC: declare i8* @calloc --// NOBUILTIN-REALLOC: declare i8* @realloc |