Walloca-1.c: Adjust test for !lp64 targets.
authorAldy Hernandez <aldyh@redhat.com>
Wed, 19 Oct 2016 18:41:36 +0000 (18:41 +0000)
committerAldy Hernandez <aldyh@gcc.gnu.org>
Wed, 19 Oct 2016 18:41:36 +0000 (18:41 +0000)
* gcc.dg/Walloca-1.c: Adjust test for !lp64 targets.
* gcc.dg/Walloca-2.c: Same.

From-SVN: r241351

gcc/testsuite/ChangeLog
gcc/testsuite/gcc.dg/Walloca-1.c
gcc/testsuite/gcc.dg/Walloca-2.c

index d3d269d159b547658aaac3b551284010545748be..e6d84c377679ae8a5c52b2dfb1548a67055f173f 100644 (file)
@@ -1,3 +1,8 @@
+2016-10-19  Aldy Hernandez  <aldyh@redhat.com>
+
+       * gcc.dg/Walloca-1.c: Adjust test for !lp64 targets.
+       * gcc.dg/Walloca-2.c: Same.
+
 2016-10-19  Aldy Hernandez  <aldyh@redhat.com>
 
        * gcc.dg/Wvla-1.c: Rename to...
index 34a20c3e6a900df5beee53ad345f42205b6223d6..32e4ab8c962f1217b44b1097a164855a0511226b 100644 (file)
@@ -23,7 +23,8 @@ void foo1 (size_t len, size_t len2, size_t len3)
   char *s = alloca (123);
   useit (s);                   // OK, constant argument to alloca
 
-  s = alloca (num);            // { dg-warning "large due to conversion" }
+  s = alloca (num);            // { dg-warning "large due to conversion" "" { target lp64 } }
+  // { dg-warning "unbounded use of 'alloca'" "" { target { ! lp64 } } 26 }
   useit (s);
 
   s = alloca(90000);           /* { dg-warning "is too large" } */
index 284b34e323f39aa4f2ad9b5388fb7f8bd08987e5..4695fda400b1ca8dc91a4ad0d7c4f257e030c8a1 100644 (file)
@@ -8,7 +8,11 @@ g1 (int n)
 {
   void *p;
   if (n > 0 && n < 2000)
-    p = __builtin_alloca (n);
+    // FIXME: This is a bogus warning, and is currently happening on
+    // 32-bit targets because VRP is not giving us any range info for
+    // the argument to __builtin_alloca.  This should be fixed by the
+    // upcoming range work.
+    p = __builtin_alloca (n); // { dg-bogus "unbounded use of 'alloca'" "" { xfail { ! lp64 } } }
   else
     p = __builtin_malloc (n);
   f (p);
@@ -31,8 +35,9 @@ g3 (int n)
   void *p;
   if (n > 0 && n < 3000)
     {
-      p = __builtin_alloca (n); // { dg-warning "'alloca' may be too large" }
-      // { dg-message "note:.*argument may be as large as 2999" "note" { target *-*-* } 34 }
+      p = __builtin_alloca (n); // { dg-warning "'alloca' may be too large" "" { target lp64} }
+      // { dg-message "note:.*argument may be as large as 2999" "note" { target lp64 } 38 }
+      // { dg-warning "unbounded use of 'alloca'" "" { target { ! lp64 } } 38 }
     }
   else
     p = __builtin_malloc (n);