diff options
-rw-r--r-- | test/CFrontend/2006-05-19-SingleEltReturn.c | 23 |
1 files changed, 23 insertions, 0 deletions
diff --git a/test/CFrontend/2006-05-19-SingleEltReturn.c b/test/CFrontend/2006-05-19-SingleEltReturn.c new file mode 100644 index 0000000000..70c94c6205 --- /dev/null +++ b/test/CFrontend/2006-05-19-SingleEltReturn.c @@ -0,0 +1,23 @@ +// Test returning a single element aggregate value containing a double. +// RUN: %llvmgcc %s -S -o - + +struct X { + double D; +}; + +struct Y { + struct X x; +}; + +struct Y bar(); + +void foo(struct Y *P) { + *P = bar(); +} + +struct Y bar() { + struct Y a; + a.x.D = 0; + return a; +} + |