Hi, This patch merges the D front-end implementation with dmd upstream 09be6ee14. Initializes ncost before use, which was caught by valgrind, fixing PR94653.
Bootstrapped and regression tested on x86_64-linux-gnu, and committed to mainline. Regards Iain. --- gcc/d/dmd/MERGE | 2 +- gcc/d/dmd/root/speller.c | 4 ++-- 2 files changed, 3 insertions(+), 3 deletions(-) diff --git a/gcc/d/dmd/MERGE b/gcc/d/dmd/MERGE index dc9fb1b8d97..2922939a2da 100644 --- a/gcc/d/dmd/MERGE +++ b/gcc/d/dmd/MERGE @@ -1,4 +1,4 @@ -799066f498aebcfa420df284cac1f204b1f953a8 +09be6ee1439ba12211678f3f1b591d1e986b7be0 The first line of this file holds the git revision number of the last merge done from the dlang/dmd repository. diff --git a/gcc/d/dmd/root/speller.c b/gcc/d/dmd/root/speller.c index 2a2e6c015c1..e04ffb38067 100644 --- a/gcc/d/dmd/root/speller.c +++ b/gcc/d/dmd/root/speller.c @@ -58,7 +58,7 @@ void *spellerY(const char *seed, size_t seedlen, fp_speller_t fp, void *fparg, memcpy(buf, seed, index); *cost = INT_MAX; void* p = NULL; - int ncost; + int ncost = 0; /* Delete at seed[index] */ if (index < seedlen) @@ -122,7 +122,7 @@ void *spellerX(const char *seed, size_t seedlen, fp_speller_t fp, void *fparg, if (!buf) return NULL; // no matches } - int cost = INT_MAX, ncost; + int cost = INT_MAX, ncost = 0; void *p = NULL, *np; /* Deletions */ -- 2.20.1