aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorTobias Burnus <tburnus@baylibre.com>2024-09-11 09:25:47 +0200
committerTobias Burnus <tburnus@baylibre.com>2024-09-11 09:25:47 +0200
commit4e9265a474def98cb6cdb59c15fbcb7630ba330e (patch)
treefb6d086a7acf2a35333d000e36b765654343a8d4
parent9b14a5823b685e3a604dc17b02c033f60ad90414 (diff)
downloadgcc-4e9265a474def98cb6cdb59c15fbcb7630ba330e.zip
gcc-4e9265a474def98cb6cdb59c15fbcb7630ba330e.tar.gz
gcc-4e9265a474def98cb6cdb59c15fbcb7630ba330e.tar.bz2
fortran/openmp.cc: Fix var init and locus use to avoid uninit values [PR fortran/116661]
gcc/fortran/ChangeLog: PR fortran/116661 * openmp.cc (gfc_match_omp_prefer_type): NULL init a gfc_expr variable and use right locus in gfc_error.
-rw-r--r--gcc/fortran/openmp.cc3
1 files changed, 2 insertions, 1 deletions
diff --git a/gcc/fortran/openmp.cc b/gcc/fortran/openmp.cc
index c04d8b0..1145e2f 100644
--- a/gcc/fortran/openmp.cc
+++ b/gcc/fortran/openmp.cc
@@ -1860,6 +1860,7 @@ gfc_match_omp_prefer_type (char **pref_str, int *pref_str_len, int **pref_int_ar
}
fr_found = true;
gfc_symbol *sym = NULL;
+ e = NULL;
locus loc = gfc_current_locus;
if (gfc_match_symbol (&sym, 0) != MATCH_YES
|| gfc_match (" _") == MATCH_YES)
@@ -1881,7 +1882,7 @@ gfc_match_omp_prefer_type (char **pref_str, int *pref_str_len, int **pref_int_ar
{
gfc_error ("Expected constant integer identifier or "
"non-empty default-kind character literal at %L",
- &e->where);
+ &loc);
gfc_free_expr (e);
return MATCH_ERROR;
}