diff gcc/testsuite/gcc.dg/pr29683.c @ 111:04ced10e8804

gcc 7
author kono
date Fri, 27 Oct 2017 22:46:09 +0900
parents
children
line wrap: on
line diff
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/gcc/testsuite/gcc.dg/pr29683.c	Fri Oct 27 22:46:09 2017 +0900
@@ -0,0 +1,43 @@
+/* { dg-do run } */
+/* { dg-options "-Os -fno-inline-functions" } */
+
+void abort (void);
+
+typedef struct {
+  int x[7];
+} agg7;
+
+typedef struct {
+  int mbr1;
+  int mbr2;
+} agg2;
+
+int expected = 31415;
+agg7 filler;
+
+int GetConst (agg7 filler, agg2 split)
+{
+  return expected;
+}
+
+void VerifyValues (agg7 filler, int last_reg, int first_stack, int second_stack)
+{
+  if (first_stack != 123 || second_stack != expected)
+    abort ();
+}
+
+void RunTest (agg2 a)
+{
+  int result;
+	
+  result = GetConst (filler, a);
+  VerifyValues (filler, 0, a.mbr1, result);
+}
+
+int main(void)
+{
+  agg2 result = {123, 456};
+  RunTest (result);
+  return 0;
+}
+