https://gcc.gnu.org/bugzilla/show_bug.cgi?id=99057

            Bug ID: 99057
           Summary: Memory leak in cp_parser_selection_statement
           Product: gcc
           Version: 11.0
            Status: UNCONFIRMED
          Severity: normal
          Priority: P3
         Component: c++
          Assignee: unassigned at gcc dot gnu.org
          Reporter: marxin at gcc dot gnu.org
                CC: jason at gcc dot gnu.org, mpolacek at gcc dot gnu.org
  Target Milestone: ---

I see the following leak:

g++
/home/marxin/Programming/gcc/gcc/testsuite/g++.dg/warn/anonymous-namespace-3.C
-c -Wduplicated-cond -wrapper valgrind,--leak-check=yes
...
==30789== 240 bytes in 6 blocks are definitely lost in loss record 1,620 of
1,879
==30789==    at 0x483977F: malloc (in
/usr/lib64/valgrind/vgpreload_memcheck-amd64-linux.so)
==30789==    by 0x1DD4BEF: xrealloc (xmalloc.c:177)
==30789==    by 0xAD85B1: reserve<tree_node*> (vec.h:290)
==30789==    by 0xAD85B1: reserve (vec.h:1778)
==30789==    by 0xAD85B1: safe_push (vec.h:1887)
==30789==    by 0xAD85B1: cp_parser_selection_statement (parser.c:12341)
==30789==    by 0xAD85B1: cp_parser_statement(cp_parser*, tree_node*, bool,
bool*, vec<tree_node*, va_heap, vl_ptr>*, unsigned int*) (parser.c:11623)
==30789==    by 0xAD8712: cp_parser_statement_seq_opt(cp_parser*, tree_node*)
(parser.c:12112)
==30789==    by 0xAD87F0: cp_parser_compound_statement(cp_parser*, tree_node*,
int, bool) (parser.c:12062)
==30789==    by 0xAF60BF: cp_parser_function_body (parser.c:23991)
==30789==    by 0xAF60BF:
cp_parser_ctor_initializer_opt_and_function_body(cp_parser*, bool)
(parser.c:24042)
==30789==    by 0xAF7CCA:
cp_parser_function_definition_after_declarator(cp_parser*, bool)
(parser.c:29945)
==30789==    by 0xAF915D:
cp_parser_function_definition_from_specifiers_and_declarator (parser.c:29861)
==30789==    by 0xAF915D: cp_parser_init_declarator(cp_parser*, int,
cp_decl_specifier_seq*, vec<deferred_access_check, va_gc, vl_embed>*, bool,
bool, int, bool*, tree_node**, unsigned int*, tree_node**) (parser.c:21564)
==30789==    by 0xAFF477: cp_parser_single_declaration(cp_parser*,
vec<deferred_access_check, va_gc, vl_embed>*, bool, bool, bool*)
(parser.c:30441)
==30789==    by 0xAFF5F1:
cp_parser_template_declaration_after_parameters(cp_parser*, tree_node*, bool)
(parser.c:30013)
==30789==    by 0xAFFE0C: cp_parser_explicit_template_declaration(cp_parser*,
bool) (parser.c:30279)
==30789==    by 0xB02671: cp_parser_declaration(cp_parser*, tree_node*)
(parser.c:14009)

Reply via email to