mirror of
git://gcc.gnu.org/git/gcc.git
synced 2025-04-14 01:50:35 +08:00
libgomp: Hopefully avoid false positive warnings in env.c on solaris
> the patch also breaks bootstrap on both i386-pc-solaris2.11 and > sparc-sun-solaris2.11: > > /vol/gcc/src/hg/master/local/libgomp/env.c: In function 'initialize_env': > /vol/gcc/src/hg/master/local/libgomp/env.c:414:16: error: 'new_offload' may be used uninitialized in this function [-Werror=maybe-uninitialized] > 414 | *offload = new_offload; > | ~~~~~~~~~^~~~~~~~~~~~~ > /vol/gcc/src/hg/master/local/libgomp/env.c:384:30: note: 'new_offload' was declared here > 384 | enum gomp_target_offload_t new_offload; > | ^~~~~~~~~~~ I can't reproduce that, but I fail to see why we need two separate variables, one with actual value and one tracking if the value is valid. So, I'm going with: 2020-10-21 Jakub Jelinek <jakub@redhat.com> * env.c (parse_target_offload): Change new_offload var type to int, preinitialize to -1, remove found var and test new_offload != -1 instead of found.
This commit is contained in:
parent
bae73ca522
commit
121a8812c4
@ -380,8 +380,7 @@ static void
|
||||
parse_target_offload (const char *name, enum gomp_target_offload_t *offload)
|
||||
{
|
||||
const char *env;
|
||||
bool found = false;
|
||||
enum gomp_target_offload_t new_offload;
|
||||
int new_offload = -1;
|
||||
|
||||
env = getenv (name);
|
||||
if (env == NULL)
|
||||
@ -392,24 +391,21 @@ parse_target_offload (const char *name, enum gomp_target_offload_t *offload)
|
||||
if (strncasecmp (env, "default", 7) == 0)
|
||||
{
|
||||
env += 7;
|
||||
found = true;
|
||||
new_offload = GOMP_TARGET_OFFLOAD_DEFAULT;
|
||||
}
|
||||
else if (strncasecmp (env, "mandatory", 9) == 0)
|
||||
{
|
||||
env += 9;
|
||||
found = true;
|
||||
new_offload = GOMP_TARGET_OFFLOAD_MANDATORY;
|
||||
}
|
||||
else if (strncasecmp (env, "disabled", 8) == 0)
|
||||
{
|
||||
env += 8;
|
||||
found = true;
|
||||
new_offload = GOMP_TARGET_OFFLOAD_DISABLED;
|
||||
}
|
||||
while (isspace ((unsigned char) *env))
|
||||
++env;
|
||||
if (found && *env == '\0')
|
||||
if (new_offload != -1 && *env == '\0')
|
||||
{
|
||||
*offload = new_offload;
|
||||
return;
|
||||
|
Loading…
x
Reference in New Issue
Block a user