mirror of git://gcc.gnu.org/git/gcc.git
re PR libgomp/43569 (libgomp: Conditional jump or move depends on uninitialised value)
PR libgomp/43569 * sections.c (gomp_sections_init): Initialize ws->mode. From-SVN: r158564
This commit is contained in:
parent
a837268b2b
commit
5221d7a91b
|
@ -1,3 +1,8 @@
|
||||||
|
2010-04-20 Jakub Jelinek <jakub@redhat.com>
|
||||||
|
|
||||||
|
PR libgomp/43569
|
||||||
|
* sections.c (gomp_sections_init): Initialize ws->mode.
|
||||||
|
|
||||||
2010-04-14 Uros Bizjak <ubizjak@gmail.com>
|
2010-04-14 Uros Bizjak <ubizjak@gmail.com>
|
||||||
|
|
||||||
* acinclude.m4 (LIBGOMP_CHECK_SYNC_BUILTINS): Remove set but
|
* acinclude.m4 (LIBGOMP_CHECK_SYNC_BUILTINS): Remove set but
|
||||||
|
|
|
@ -1,4 +1,4 @@
|
||||||
/* Copyright (C) 2005, 2007, 2008, 2009 Free Software Foundation, Inc.
|
/* Copyright (C) 2005, 2007, 2008, 2009, 2010 Free Software Foundation, Inc.
|
||||||
Contributed by Richard Henderson <rth@redhat.com>.
|
Contributed by Richard Henderson <rth@redhat.com>.
|
||||||
|
|
||||||
This file is part of the GNU OpenMP Library (libgomp).
|
This file is part of the GNU OpenMP Library (libgomp).
|
||||||
|
@ -34,9 +34,25 @@ gomp_sections_init (struct gomp_work_share *ws, unsigned count)
|
||||||
{
|
{
|
||||||
ws->sched = GFS_DYNAMIC;
|
ws->sched = GFS_DYNAMIC;
|
||||||
ws->chunk_size = 1;
|
ws->chunk_size = 1;
|
||||||
ws->end = count + 1;
|
ws->end = count + 1L;
|
||||||
ws->incr = 1;
|
ws->incr = 1;
|
||||||
ws->next = 1;
|
ws->next = 1;
|
||||||
|
#ifdef HAVE_SYNC_BUILTINS
|
||||||
|
/* Prepare things to make each iteration faster. */
|
||||||
|
if (sizeof (long) > sizeof (unsigned))
|
||||||
|
ws->mode = 1;
|
||||||
|
else
|
||||||
|
{
|
||||||
|
struct gomp_thread *thr = gomp_thread ();
|
||||||
|
struct gomp_team *team = thr->ts.team;
|
||||||
|
long nthreads = team ? team->nthreads : 1;
|
||||||
|
|
||||||
|
ws->mode = ((nthreads | ws->end)
|
||||||
|
< 1UL << (sizeof (long) * __CHAR_BIT__ / 2 - 1));
|
||||||
|
}
|
||||||
|
#else
|
||||||
|
ws->mode = 0;
|
||||||
|
#endif
|
||||||
}
|
}
|
||||||
|
|
||||||
/* This routine is called when first encountering a sections construct
|
/* This routine is called when first encountering a sections construct
|
||||||
|
|
Loading…
Reference in New Issue