diff options
Diffstat (limited to 'clang/test/CodeGen/x86_64-arguments.c')
-rw-r--r-- | clang/test/CodeGen/x86_64-arguments.c | 13 |
1 files changed, 12 insertions, 1 deletions
diff --git a/clang/test/CodeGen/x86_64-arguments.c b/clang/test/CodeGen/x86_64-arguments.c index 69d3a81dcb4..eed4eb696f3 100644 --- a/clang/test/CodeGen/x86_64-arguments.c +++ b/clang/test/CodeGen/x86_64-arguments.c @@ -6,7 +6,10 @@ // RUN: grep 'define double @f4()' %t && // RUN: grep 'define x86_fp80 @f5()' %t && // RUN: grep 'define void @f6(i8 signext %a0, i16 signext %a1, i32 %a2, i64 %a3, i8\* %a4)' %t && -// RUN: grep 'define void @f7(i32 %a0)' %t +// RUN: grep 'define void @f7(i32 %a0)' %t && +// RUN: grep 'type { i64, double }.*type .0' %t && +// RUN: grep 'define .0 @f8_1()' %t && +// RUN: grep 'define void @f8_2(.0)' %t char f0(void) { } @@ -33,3 +36,11 @@ typedef enum { A, B, C } E; void f7(E a0) { } + +// Test merging/passing of upper eightbyte with X87 class. +union u8 { + long double a; + int b; +}; +union u8 f8_1() {} +void f8_2(union u8 a0) {} |