Commit 76004bbc by Marek Polacek Committed by Marek Polacek

vla-1.c: Split the tests into individual functions.

2013-12-02  Marek Polacek  <polacek@redhat.com>

testsuite/
	* c-c++-common/ubsan/vla-1.c: Split the tests into individual
	functions.

From-SVN: r205590
parent 100f09a5
2013-12-02 Marek Polacek <polacek@redhat.com>
* c-c++-common/ubsan/vla-1.c: Split the tests into individual
functions.
2013-12-02 Richard Biener <rguenther@suse.de> 2013-12-02 Richard Biener <rguenther@suse.de>
PR tree-optimization/59139 PR tree-optimization/59139
......
/* { dg-do run } */ /* { dg-do run } */
/* { dg-options "-fsanitize=vla-bound -Wall -Wno-unused-variable" } */ /* { dg-options "-fsanitize=vla-bound -Wall -Wno-unused-variable" } */
static int typedef long int V;
int x = -1;
double di = -3.2;
V v = -6;
static int __attribute__ ((noinline, noclone))
bar (void) bar (void)
{ {
return -42; return -4;
} }
typedef long int V; static void __attribute__ ((noinline, noclone))
int fn1 (void)
main (void)
{ {
int x = -1;
double di = -3.2;
V v = -666;
int a[x]; int a[x];
int aa[x][x]; }
int aaa[x][x][x];
static void __attribute__ ((noinline, noclone))
fn2 (void)
{
int a[x][x];
}
static void __attribute__ ((noinline, noclone))
fn3 (void)
{
int a[x][x][x];
}
static void __attribute__ ((noinline, noclone))
fn4 (void)
{
int b[x - 4]; int b[x - 4];
}
static void __attribute__ ((noinline, noclone))
fn5 (void)
{
int c[(int) di]; int c[(int) di];
}
static void __attribute__ ((noinline, noclone))
fn6 (void)
{
int d[1 + x]; int d[1 + x];
}
static void __attribute__ ((noinline, noclone))
fn7 (void)
{
int e[1 ? x : -1]; int e[1 ? x : -1];
}
static void __attribute__ ((noinline, noclone))
fn8 (void)
{
int f[++x]; int f[++x];
}
static void __attribute__ ((noinline, noclone))
fn9 (void)
{
int g[(signed char) --x]; int g[(signed char) --x];
}
static void __attribute__ ((noinline, noclone))
fn10 (void)
{
int h[(++x, --x, x)]; int h[(++x, --x, x)];
}
static void __attribute__ ((noinline, noclone))
fn11 (void)
{
int i[v]; int i[v];
}
static void __attribute__ ((noinline, noclone))
fn12 (void)
{
int j[bar ()]; int j[bar ()];
}
int
main (void)
{
fn1 ();
fn2 ();
fn3 ();
fn4 ();
fn5 ();
fn6 ();
fn7 ();
fn8 ();
fn9 ();
fn10 ();
fn11 ();
fn12 ();
return 0; return 0;
} }
...@@ -44,5 +115,5 @@ main (void) ...@@ -44,5 +115,5 @@ main (void)
/* { dg-output "\[^\n\r]*variable length array bound evaluates to non-positive value 0(\n|\r\n|\r)" } */ /* { dg-output "\[^\n\r]*variable length array bound evaluates to non-positive value 0(\n|\r\n|\r)" } */
/* { dg-output "\[^\n\r]*variable length array bound evaluates to non-positive value -1(\n|\r\n|\r)" } */ /* { dg-output "\[^\n\r]*variable length array bound evaluates to non-positive value -1(\n|\r\n|\r)" } */
/* { dg-output "\[^\n\r]*variable length array bound evaluates to non-positive value -1(\n|\r\n|\r)" } */ /* { dg-output "\[^\n\r]*variable length array bound evaluates to non-positive value -1(\n|\r\n|\r)" } */
/* { dg-output "\[^\n\r]*variable length array bound evaluates to non-positive value -666(\n|\r\n|\r)" } */ /* { dg-output "\[^\n\r]*variable length array bound evaluates to non-positive value -6(\n|\r\n|\r)" } */
/* { dg-output "\[^\n\r]*variable length array bound evaluates to non-positive value -42(\n|\r\n|\r)" } */ /* { dg-output "\[^\n\r]*variable length array bound evaluates to non-positive value -4(\n|\r\n|\r)" } */
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment