diff options
author | Richard Guenther <rguenther@suse.de> | 2010-11-03 15:55:34 +0000 |
---|---|---|
committer | Richard Biener <rguenth@gcc.gnu.org> | 2010-11-03 15:55:34 +0000 |
commit | b7fa98e27bb48a44ad2a29e471653a56bdbee831 (patch) | |
tree | 8f44a3580f33a329139cf5e1e4d3a24c69241ddf | |
parent | 34e1a1443f931c4be93d72272690c3dd12f56890 (diff) | |
download | gcc-b7fa98e27bb48a44ad2a29e471653a56bdbee831.zip gcc-b7fa98e27bb48a44ad2a29e471653a56bdbee831.tar.gz gcc-b7fa98e27bb48a44ad2a29e471653a56bdbee831.tar.bz2 |
re PR bootstrap/44807 (bootstrap failure on i686 with BOOT_CFLAGS='-O3')
2010-11-03 Richard Guenther <rguenther@suse.de>
PR tree-optimization/44807
* gcc.dg/torture/pr44807.c: New testcase.
From-SVN: r166256
-rw-r--r-- | gcc/testsuite/ChangeLog | 5 | ||||
-rw-r--r-- | gcc/testsuite/gcc.dg/torture/pr44807.c | 40 |
2 files changed, 45 insertions, 0 deletions
diff --git a/gcc/testsuite/ChangeLog b/gcc/testsuite/ChangeLog index 325f82a..5e266c1 100644 --- a/gcc/testsuite/ChangeLog +++ b/gcc/testsuite/ChangeLog @@ -1,3 +1,8 @@ +2010-11-03 Richard Guenther <rguenther@suse.de> + + PR tree-optimization/44807 + * gcc.dg/torture/pr44807.c: New testcase. + 2010-11-03 Jerry DeLisle <jvdelisle@gcc.gnu.org> PR libgfortran/43899 diff --git a/gcc/testsuite/gcc.dg/torture/pr44807.c b/gcc/testsuite/gcc.dg/torture/pr44807.c new file mode 100644 index 0000000..aa24a4c --- /dev/null +++ b/gcc/testsuite/gcc.dg/torture/pr44807.c @@ -0,0 +1,40 @@ +/* { dg-do compile } */ + +struct jobstats +{ + int j_jobslots; +}; +struct jobstats js; +int *jobs; + +typedef int sh_job_map_func_t (int *, int, int, int); + +static void +map_over_jobs (sh_job_map_func_t func) +{ + int i; + int set, oset; + if (js.j_jobslots) + return; + sigemptyset (&set); + sigaddset (set, 17); + sigemptyset (&oset); + sigprocmask (0, set, oset); + for (i = 0; js.j_jobslots; i++) + if (jobs[i]) + func (jobs, 0, 0, 0); + sigprocmask (oset, ((void *) 0)); +} + +int +print_job (int *job, int format, int state, int job_index) +{ + map_over_jobs (print_job); +} + +void +list_running_jobs (void) +{ + map_over_jobs (print_job); +} + |