summaryrefslogtreecommitdiffstats
path: root/contrib/llvm/patches/patch-r262262-clang-r199188-sparc.diff
diff options
context:
space:
mode:
Diffstat (limited to 'contrib/llvm/patches/patch-r262262-clang-r199188-sparc.diff')
-rw-r--r--contrib/llvm/patches/patch-r262262-clang-r199188-sparc.diff35
1 files changed, 35 insertions, 0 deletions
diff --git a/contrib/llvm/patches/patch-r262262-clang-r199188-sparc.diff b/contrib/llvm/patches/patch-r262262-clang-r199188-sparc.diff
new file mode 100644
index 0000000..77e5eaf
--- /dev/null
+++ b/contrib/llvm/patches/patch-r262262-clang-r199188-sparc.diff
@@ -0,0 +1,35 @@
+Pull in r199188 from upstream clang trunk (by Jakob Stoklund Olesen):
+
+ Puny 24-byte structs are returned by value on SPARC.
+
+ Pad these structs up so they are sret-returned even on that
+ architecture.
+
+Introduced here: http://svn.freebsd.org/changeset/base/262262
+
+Index: tools/clang/test/CodeGen/sret.c
+===================================================================
+--- tools/clang/test/CodeGen/sret.c
++++ tools/clang/test/CodeGen/sret.c
+@@ -4,6 +4,8 @@ struct abc {
+ long a;
+ long b;
+ long c;
++ long d;
++ long e;
+ };
+
+ struct abc foo1(void);
+Index: tools/clang/test/CodeGen/sret2.c
+===================================================================
+--- tools/clang/test/CodeGen/sret2.c
++++ tools/clang/test/CodeGen/sret2.c
+@@ -4,6 +4,8 @@ struct abc {
+ long a;
+ long b;
+ long c;
++ long d;
++ long e;
+ };
+
+ struct abc foo2(){}
OpenPOWER on IntegriCloud