Mercurial > hg > CbC > CbC_gcc
diff libgomp/env.c @ 63:b7f97abdc517 gcc-4.6-20100522
update gcc from gcc-4.5.0 to gcc-4.6
author | ryoma <e075725@ie.u-ryukyu.ac.jp> |
---|---|
date | Mon, 24 May 2010 12:47:05 +0900 |
parents | a06113de4d67 |
children | f6334be47118 |
line wrap: on
line diff
--- a/libgomp/env.c Fri Feb 12 23:41:23 2010 +0900 +++ b/libgomp/env.c Mon May 24 12:47:05 2010 +0900 @@ -1,4 +1,5 @@ -/* Copyright (C) 2005, 2006, 2007, 2008, 2009 Free Software Foundation, Inc. +/* Copyright (C) 2005, 2006, 2007, 2008, 2009, 2010 + Free Software Foundation, Inc. Contributed by Richard Henderson <rth@redhat.com>. This file is part of the GNU OpenMP Library (libgomp). @@ -145,7 +146,7 @@ present and it was successfully parsed. */ static bool -parse_unsigned_long (const char *name, unsigned long *pvalue) +parse_unsigned_long (const char *name, unsigned long *pvalue, bool allow_zero) { char *env, *end; unsigned long value; @@ -161,7 +162,7 @@ errno = 0; value = strtoul (env, &end, 10); - if (errno || (long) value <= 0) + if (errno || (long) value <= 0 - allow_zero) goto invalid; while (isspace ((unsigned char) *end)) @@ -481,8 +482,9 @@ parse_schedule (); parse_boolean ("OMP_DYNAMIC", &gomp_global_icv.dyn_var); parse_boolean ("OMP_NESTED", &gomp_global_icv.nest_var); - parse_unsigned_long ("OMP_MAX_ACTIVE_LEVELS", &gomp_max_active_levels_var); - parse_unsigned_long ("OMP_THREAD_LIMIT", &gomp_thread_limit_var); + parse_unsigned_long ("OMP_MAX_ACTIVE_LEVELS", &gomp_max_active_levels_var, + true); + parse_unsigned_long ("OMP_THREAD_LIMIT", &gomp_thread_limit_var, false); if (gomp_thread_limit_var != ULONG_MAX) gomp_remaining_threads_count = gomp_thread_limit_var - 1; #ifndef HAVE_SYNC_BUILTINS @@ -490,7 +492,8 @@ #endif gomp_init_num_threads (); gomp_available_cpus = gomp_global_icv.nthreads_var; - if (!parse_unsigned_long ("OMP_NUM_THREADS", &gomp_global_icv.nthreads_var)) + if (!parse_unsigned_long ("OMP_NUM_THREADS", &gomp_global_icv.nthreads_var, + false)) gomp_global_icv.nthreads_var = gomp_available_cpus; if (parse_affinity ()) gomp_init_affinity (); @@ -632,7 +635,7 @@ void omp_set_max_active_levels (int max_levels) { - if (max_levels > 0) + if (max_levels >= 0) gomp_max_active_levels_var = max_levels; }