summaryrefslogtreecommitdiffstats
path: root/contrib/llvm/patches
diff options
context:
space:
mode:
authordim <dim@FreeBSD.org>2014-05-26 20:45:44 +0000
committerdim <dim@FreeBSD.org>2014-05-26 20:45:44 +0000
commita3e27ae6a965c81405d106372cb1f9d3a6da6626 (patch)
treea889320dbbd323fb029d54cc5ef8a03ca448a203 /contrib/llvm/patches
parent0c09b104cdf0b55f5402b37cb18a67d0480c6a5f (diff)
downloadFreeBSD-src-a3e27ae6a965c81405d106372cb1f9d3a6da6626.zip
FreeBSD-src-a3e27ae6a965c81405d106372cb1f9d3a6da6626.tar.gz
MFC r265925:
Upgrade our copy of llvm/clang to 3.4.1 release. This release contains mostly fixes, for the following upstream bugs: http://llvm.org/PR16365 http://llvm.org/PR17473 http://llvm.org/PR18000 http://llvm.org/PR18068 http://llvm.org/PR18102 http://llvm.org/PR18165 http://llvm.org/PR18260 http://llvm.org/PR18290 http://llvm.org/PR18316 http://llvm.org/PR18460 http://llvm.org/PR18473 http://llvm.org/PR18515 http://llvm.org/PR18526 http://llvm.org/PR18600 http://llvm.org/PR18762 http://llvm.org/PR18773 http://llvm.org/PR18860 http://llvm.org/PR18994 http://llvm.org/PR19007 http://llvm.org/PR19010 http://llvm.org/PR19033 http://llvm.org/PR19059 http://llvm.org/PR19144 http://llvm.org/PR19326
Diffstat (limited to 'contrib/llvm/patches')
-rw-r--r--contrib/llvm/patches/patch-r262809-clang-r203007-destructor-calling-conv.diff61
1 files changed, 0 insertions, 61 deletions
diff --git a/contrib/llvm/patches/patch-r262809-clang-r203007-destructor-calling-conv.diff b/contrib/llvm/patches/patch-r262809-clang-r203007-destructor-calling-conv.diff
deleted file mode 100644
index 5341b8b..0000000
--- a/contrib/llvm/patches/patch-r262809-clang-r203007-destructor-calling-conv.diff
+++ /dev/null
@@ -1,61 +0,0 @@
-Pull in r203007 from upstream clang trunk (by Rafael Espindola):
-
- Don't produce an alias between destructors with different calling conventions.
-
- Fixes pr19007.
-
-Introduced here: http://svn.freebsd.org/changeset/base/262809
-
-Index: tools/clang/lib/CodeGen/CGCXX.cpp
-===================================================================
---- tools/clang/lib/CodeGen/CGCXX.cpp
-+++ tools/clang/lib/CodeGen/CGCXX.cpp
-@@ -92,7 +92,13 @@ bool CodeGenModule::TryEmitBaseDestructorAsAlias(c
- if (!ClassLayout.getBaseClassOffset(UniqueBase).isZero())
- return true;
-
-+ // Give up if the calling conventions don't match. We could update the call,
-+ // but it is probably not worth it.
- const CXXDestructorDecl *BaseD = UniqueBase->getDestructor();
-+ if (BaseD->getType()->getAs<FunctionType>()->getCallConv() !=
-+ D->getType()->getAs<FunctionType>()->getCallConv())
-+ return true;
-+
- return TryEmitDefinitionAsAlias(GlobalDecl(D, Dtor_Base),
- GlobalDecl(BaseD, Dtor_Base),
- false);
-Index: tools/clang/test/CodeGenCXX/ctor-dtor-alias.cpp
-===================================================================
---- tools/clang/test/CodeGenCXX/ctor-dtor-alias.cpp
-+++ tools/clang/test/CodeGenCXX/ctor-dtor-alias.cpp
-@@ -1,5 +1,5 @@
--// RUN: %clang_cc1 %s -triple x86_64-linux -emit-llvm -o - -mconstructor-aliases -O1 -disable-llvm-optzns | FileCheck %s
--// RUN: %clang_cc1 %s -triple x86_64-linux -emit-llvm -o - -mconstructor-aliases | FileCheck --check-prefix=NOOPT %s
-+// RUN: %clang_cc1 %s -triple i686-linux -emit-llvm -o - -mconstructor-aliases -O1 -disable-llvm-optzns | FileCheck %s
-+// RUN: %clang_cc1 %s -triple i686-linux -emit-llvm -o - -mconstructor-aliases | FileCheck --check-prefix=NOOPT %s
-
- // RUN: %clang_cc1 -cc1 -triple x86_64--netbsd -emit-llvm \
- // RUN: -mconstructor-aliases -O2 %s -o - | FileCheck --check-prefix=CHECK-RAUW %s
-@@ -133,6 +133,22 @@ namespace test8 {
- zed foo;
- }
-
-+namespace test9 {
-+struct foo {
-+ __attribute__((stdcall)) ~foo() {
-+ }
-+};
-+
-+struct bar : public foo {};
-+
-+void zed() {
-+ // Test that we produce a call to bar's destructor. We used to call foo's, but
-+ // it has a different calling conversion.
-+ // CHECK-DAG: call void @_ZN5test93barD2Ev
-+ bar ptr;
-+}
-+}
-+
- // CHECK-RAUW: @_ZTV1C = linkonce_odr unnamed_addr constant [4 x i8*] [{{[^@]*}}@_ZTI1C {{[^@]*}}@_ZN1CD2Ev {{[^@]*}}@_ZN1CD0Ev {{[^@]*}}]
- // r194296 replaced C::~C with B::~B without emitting the later.
-
OpenPOWER on IntegriCloud