From 203e2e8dd8c55496a6e47f5b1aacc22f4324711c Mon Sep 17 00:00:00 2001 From: Daniel Dunbar Date: Tue, 12 May 2009 15:22:40 +0000 Subject: x86-64 ABI: clang incorrectly passes union { long double, float } in register. - Merge algorithm was returning MEMORY as it should. llvm-svn: 71556 --- clang/test/CodeGen/x86_64-arguments.c | 3 +++ 1 file changed, 3 insertions(+) (limited to 'clang/test') diff --git a/clang/test/CodeGen/x86_64-arguments.c b/clang/test/CodeGen/x86_64-arguments.c index fa73f7de674..2e5debe7cba 100644 --- a/clang/test/CodeGen/x86_64-arguments.c +++ b/clang/test/CodeGen/x86_64-arguments.c @@ -52,4 +52,7 @@ struct s9 { int a; int b; int : 0; } f9(void) {} struct s10 { int a; int b; int : 0; }; void f10(struct s10 a0) {} +// RUN: grep 'define void @f11(.union.anon. noalias sret .agg.result)' %t && +union { long double a; float b; } f11() {} + // RUN: true -- cgit v1.2.3