1263320SdimPull in r199188 from upstream clang trunk (by Jakob Stoklund Olesen): 2263320Sdim 3263320Sdim Puny 24-byte structs are returned by value on SPARC. 4263320Sdim 5263320Sdim Pad these structs up so they are sret-returned even on that 6263320Sdim architecture. 7263320Sdim 8263320SdimIntroduced here: http://svn.freebsd.org/changeset/base/262262 9263320Sdim 10263320SdimIndex: tools/clang/test/CodeGen/sret.c 11263320Sdim=================================================================== 12263320Sdim--- tools/clang/test/CodeGen/sret.c 13263320Sdim+++ tools/clang/test/CodeGen/sret.c 14263320Sdim@@ -4,6 +4,8 @@ struct abc { 15263320Sdim long a; 16263320Sdim long b; 17263320Sdim long c; 18263320Sdim+ long d; 19263320Sdim+ long e; 20263320Sdim }; 21263320Sdim 22263320Sdim struct abc foo1(void); 23263320SdimIndex: tools/clang/test/CodeGen/sret2.c 24263320Sdim=================================================================== 25263320Sdim--- tools/clang/test/CodeGen/sret2.c 26263320Sdim+++ tools/clang/test/CodeGen/sret2.c 27263320Sdim@@ -4,6 +4,8 @@ struct abc { 28263320Sdim long a; 29263320Sdim long b; 30263320Sdim long c; 31263320Sdim+ long d; 32263320Sdim+ long e; 33263320Sdim }; 34263320Sdim 35263320Sdim struct abc foo2(){} 36