When running the test-suite for these tests on an instrumented mmix
simulator (plus gcc and newlib patches to match) that, instead of
silently allocating zeros, barfs on accesses beyond the defined stack,
these tests fail because of that check.  There are no stack parameters
to copy, so there's just an unused and undefined (well, zeroed) chunk
of memory copied.  Fixes in that setup:

FAIL: gcc.dg/builtin-apply2.c execution test
..
FAIL: gcc.dg/torture/stackalign/builtin-apply-2.c  -O0  execution test

Committed.

gcc/testsuite:

        * gcc.dg/torture/stackalign/builtin-apply-2.c,
        gcc.dg/builtin-apply2.c: Correct STACK_ARGUMENTS_SIZE for MMIX.

Index: gcc/testsuite/gcc.dg/torture/stackalign/builtin-apply-2.c
===================================================================
--- gcc/testsuite/gcc.dg/torture/stackalign/builtin-apply-2.c   (revision 
192353)
+++ gcc/testsuite/gcc.dg/torture/stackalign/builtin-apply-2.c   (working copy)
@@ -16,6 +16,9 @@
    E, F and G are passed on stack.  So the size of the stack argument
    data is 20.  */
 #define STACK_ARGUMENTS_SIZE  20
+#elif defined __MMIX__
+/* No parameters on stack for bar.  */
+#define STACK_ARGUMENTS_SIZE 0
 #else
 #define STACK_ARGUMENTS_SIZE  64
 #endif
Index: gcc/testsuite/gcc.dg/builtin-apply2.c
===================================================================
--- gcc/testsuite/gcc.dg/builtin-apply2.c       (revision 192353)
+++ gcc/testsuite/gcc.dg/builtin-apply2.c       (working copy)
@@ -17,6 +17,9 @@
    E, F and G are passed on stack.  So the size of the stack argument
    data is 20.  */
 #define STACK_ARGUMENTS_SIZE  20
+#elif defined __MMIX__
+/* No parameters on stack for bar.  */
+#define STACK_ARGUMENTS_SIZE 0
 #else
 #define STACK_ARGUMENTS_SIZE  64
 #endif

brgds, H-P

Reply via email to