re PR testsuite/55504 (gcc.c-torture/execute/20071018-1.c execution failures with...
authorJakub Jelinek <jakub@redhat.com>
Wed, 28 Nov 2012 16:28:06 +0000 (17:28 +0100)
committerJakub Jelinek <jakub@gcc.gnu.org>
Wed, 28 Nov 2012 16:28:06 +0000 (17:28 +0100)
PR testsuite/55504
* gcc.c-torture/execute/20071018-1.c (foo): Add noinline/noclone
attributes.  Avoid clobbering memory before malloced chunk.
(main): Pass 1 instead of 0 as argument.

From-SVN: r193898

gcc/testsuite/ChangeLog
gcc/testsuite/gcc.c-torture/execute/20071018-1.c

index d01a700..cc7d710 100644 (file)
@@ -1,3 +1,10 @@
+2012-11-28  Jakub Jelinek  <jakub@redhat.com>
+
+       PR testsuite/55504
+       * gcc.c-torture/execute/20071018-1.c (foo): Add noinline/noclone
+       attributes.  Avoid clobbering memory before malloced chunk.
+       (main): Pass 1 instead of 0 as argument.
+
 2012-11-28  Eric Botcazou  <ebotcazou@adacore.com>
 
        * gnat.dg/object_overflow.adb: Rename to...
index ae13c73..625e981 100644 (file)
@@ -13,11 +13,11 @@ void __attribute__((noinline)) bar(struct foo **f)
 {
   *f = __builtin_malloc(sizeof(struct foo));
 }
-struct foo * foo(int rank)
+struct foo * __attribute__((noinline, noclone)) foo(int rank)
 {
   void *x = __builtin_malloc(sizeof(struct mem));
   struct mem *as = x;
-  struct foo **upper = &as->x[rank * 8 - 1];
+  struct foo **upper = &as->x[rank * 8 - 5];
   *upper = 0;
   bar(upper);
   return *upper;
@@ -25,7 +25,7 @@ struct foo * foo(int rank)
 
 int main()
 {
-  if (foo(0) == 0)
+  if (foo(1) == 0)
     abort ();
   return 0;
 }