"make selftest-valgrind" shows a couple of leaks, presumably introduced
in r264052 (PR driver/83193):

440 bytes in 1 blocks are definitely lost in loss record 590 of 668
   at 0x4A083AA: realloc (in 
/usr/lib64/valgrind/vgpreload_memcheck-amd64-linux.so)
   by 0x20C4AAC: xrealloc (xmalloc.c:179)
   by 0x92AB9F: void va_heap::reserve<char const*>(vec<char const*, va_heap, 
vl_embed>*&, unsigned int, bool) (vec.h:288)
   by 0x92A809: vec<char const*, va_heap, vl_ptr>::reserve(unsigned int, bool) 
(vec.h:1621)
   by 0x92A0B1: vec<char const*, va_heap, vl_ptr>::safe_push(char const* 
const&) (vec.h:1730)
   by 0x200F9AC: ix86_get_valid_option_values(int, char const*) 
(i386-common.c:1714)
   by 0x20385A9: option_proposer::build_option_suggestions(char const*) 
(opt-suggestions.c:143)
   by 0x203829B: option_proposer::get_completions(char const*, 
auto_string_vec&) (opt-suggestions.c:84)
   by 0x2038919: selftest::verify_autocompletions(option_proposer&, char 
const*) (opt-suggestions.c:234)
   by 0x2038A9D: selftest::test_completion_valid_options(option_proposer&) 
(opt-suggestions.c:306)
   by 0x20399BE: selftest::opt_proposer_c_tests() (opt-suggestions.c:427)
   by 0x1FA6082: selftest::run_tests() (selftest-run-tests.c:74)

976 bytes in 1 blocks are definitely lost in loss record 604 of 668
   at 0x4A083AA: realloc (in 
/usr/lib64/valgrind/vgpreload_memcheck-amd64-linux.so)
   by 0x20C4AAC: xrealloc (xmalloc.c:179)
   by 0x92AB9F: void va_heap::reserve<char const*>(vec<char const*, va_heap, 
vl_embed>*&, unsigned int, bool) (vec.h:288)
   by 0x92A809: vec<char const*, va_heap, vl_ptr>::reserve(unsigned int, bool) 
(vec.h:1621)
   by 0x92A0B1: vec<char const*, va_heap, vl_ptr>::safe_push(char const* 
const&) (vec.h:1730)
   by 0x200F972: ix86_get_valid_option_values(int, char const*) 
(i386-common.c:1710)
   by 0x20385A9: option_proposer::build_option_suggestions(char const*) 
(opt-suggestions.c:143)
   by 0x203829B: option_proposer::get_completions(char const*, 
auto_string_vec&) (opt-suggestions.c:84)
   by 0x2038919: selftest::verify_autocompletions(option_proposer&, char 
const*) (opt-suggestions.c:234)
   by 0x2038A9D: selftest::test_completion_valid_options(option_proposer&) 
(opt-suggestions.c:306)
   by 0x20399BE: selftest::opt_proposer_c_tests() (opt-suggestions.c:427)
   by 0x1FA6082: selftest::run_tests() (selftest-run-tests.c:74)

With this patch, "make selftest-valgrind" is clean again.

Successfully bootstrapped & regrtested on x86_64-pc-linux-gnu.

Committed to trunk as r264698, under the "obvious" rule.

gcc/ChangeLog:
        * opt-suggestions.c (option_proposer::build_option_suggestions):
        Release "option_values".
---
 gcc/opt-suggestions.c | 1 +
 1 file changed, 1 insertion(+)

diff --git a/gcc/opt-suggestions.c b/gcc/opt-suggestions.c
index c68c9ee..9444a35 100644
--- a/gcc/opt-suggestions.c
+++ b/gcc/opt-suggestions.c
@@ -152,6 +152,7 @@ option_proposer::build_option_suggestions (const char 
*prefix)
                          free (with_arg);
                        }
                    }
+                 option_values.release ();
                }
              else
                add_misspelling_candidates (m_option_suggestions, option,
-- 
1.8.5.3

Reply via email to