]> git.ipfire.org Git - thirdparty/gcc.git/commitdiff
libgomp: Fix up OMP_PROC_BIND handling [PR106894]
authorJakub Jelinek <jakub@redhat.com>
Fri, 9 Sep 2022 11:43:43 +0000 (13:43 +0200)
committerJakub Jelinek <jakub@redhat.com>
Fri, 9 Sep 2022 11:43:43 +0000 (13:43 +0200)
While the first param is char (gomp_global_icv.bind_var), the second param
is char * (gomp_bind_var_list), so we shouldn't access it through *(char *).

2022-09-09  Jakub Jelinek  <jakub@redhat.com>

PR libgomp/106894
* env.c (initialize_env) <case PARSE_BIND>: Use char ** instead of
char * for dest[1] initialization from params[1].  Formatting fixes.

libgomp/env.c

index 82e22ac789f3a2072cfaa27aadaaf267a3c4d5e6..92f32f72020f398dabaf782ab42c9a1618d9fee5 100644 (file)
@@ -2184,12 +2184,10 @@ initialize_env (void)
            *(int *) (host_envvars[omp_var].dest[1]) = *(int *) params[1];
            break;
          case PARSE_BIND:
-           *(char *) (host_envvars[omp_var].dest[0])
-                 = *(char *) params[0];
-           *(char *) (host_envvars[omp_var].dest[1])
-                 = *(char *) params[1];
+           *(char *) (host_envvars[omp_var].dest[0]) = *(char *) params[0];
+           *(char **) (host_envvars[omp_var].dest[1]) = *(char **) params[1];
            *(unsigned long *) (host_envvars[omp_var].dest[2])
-                 = *(unsigned long *) params[2];
+             = *(unsigned long *) params[2];
            break;
          }
       }