public inbox for gcc-bugs@sourceware.org help / color / mirror / Atom feed
* [Bug c++/99057] New: Memory leak in cp_parser_selection_statement @ 2021-02-10 12:31 marxin at gcc dot gnu.org 2021-02-10 12:34 ` [Bug c++/99057] " marxin at gcc dot gnu.org ` (3 more replies) 0 siblings, 4 replies; 5+ messages in thread From: marxin at gcc dot gnu.org @ 2021-02-10 12:31 UTC (permalink / raw) To: gcc-bugs 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) ^ permalink raw reply [flat|nested] 5+ messages in thread
* [Bug c++/99057] Memory leak in cp_parser_selection_statement 2021-02-10 12:31 [Bug c++/99057] New: Memory leak in cp_parser_selection_statement marxin at gcc dot gnu.org @ 2021-02-10 12:34 ` marxin at gcc dot gnu.org 2021-02-10 13:03 ` marxin at gcc dot gnu.org ` (2 subsequent siblings) 3 siblings, 0 replies; 5+ messages in thread From: marxin at gcc dot gnu.org @ 2021-02-10 12:34 UTC (permalink / raw) To: gcc-bugs https://gcc.gnu.org/bugzilla/show_bug.cgi?id=99057 Martin Liška <marxin at gcc dot gnu.org> changed: What |Removed |Added ---------------------------------------------------------------------------- Ever confirmed|0 |1 Status|UNCONFIRMED |NEW Last reconfirmed| |2021-02-10 ^ permalink raw reply [flat|nested] 5+ messages in thread
* [Bug c++/99057] Memory leak in cp_parser_selection_statement 2021-02-10 12:31 [Bug c++/99057] New: Memory leak in cp_parser_selection_statement marxin at gcc dot gnu.org 2021-02-10 12:34 ` [Bug c++/99057] " marxin at gcc dot gnu.org @ 2021-02-10 13:03 ` marxin at gcc dot gnu.org 2021-02-10 14:17 ` mpolacek at gcc dot gnu.org 2021-02-11 3:54 ` mpolacek at gcc dot gnu.org 3 siblings, 0 replies; 5+ messages in thread From: marxin at gcc dot gnu.org @ 2021-02-10 13:03 UTC (permalink / raw) To: gcc-bugs https://gcc.gnu.org/bugzilla/show_bug.cgi?id=99057 --- Comment #1 from Martin Liška <marxin at gcc dot gnu.org> --- And this one please for C FE: $ cat wslay.i typedef long unsigned int size_t; typedef struct { } __sigset_t; typedef int (*__compar_fn_t) (const void *, const void *); extern __inline __attribute__ ((__gnu_inline__)) void * bsearch (const void *__key, const void *__base, size_t __nmemb, size_t __size, __compar_fn_t __compar) { size_t __l, __u, __idx; int __comparison; while (__l < __u) { if (__comparison < 0) __u = __idx; else if (__comparison > 0) __l = __idx + 1; } } $ gcc wslay.i -O -Wduplicated-cond -fsyntax-only -wrapper valgrind,--leak-check=yes ==26658== Memcheck, a memory error detector ==26658== Copyright (C) 2002-2017, and GNU GPL'd, by Julian Seward et al. ==26658== Using Valgrind-3.16.1 and LibVEX; rerun with -h for copyright info ==26658== Command: /home/marxin/bin/gcc/lib/gcc/x86_64-pc-linux-gnu/11.0.0/cc1 -fpreprocessed wslay.i -quiet -dumpdir a- -dumpbase wslay.i -dumpbase-ext .i -mtune=generic -march=x86-64 -O -Wduplicated-cond -fsyntax-only -o /dev/null ==26658== ==26658== ==26658== HEAP SUMMARY: ==26658== in use at exit: 540,404 bytes in 2,250 blocks ==26658== total heap usage: 3,394 allocs, 1,144 frees, 1,156,250 bytes allocated ==26658== ==26658== 40 bytes in 1 blocks are definitely lost in loss record 18 of 741 ==26658== at 0x483977F: malloc (in /usr/lib64/valgrind/vgpreload_memcheck-amd64-linux.so) ==26658== by 0x1ADADFF: xrealloc (xmalloc.c:177) ==26658== by 0x8B7F55: reserve<tree_node*> (vec.h:290) ==26658== by 0x8B7F55: reserve (vec.h:1778) ==26658== by 0x8B7F55: safe_push (vec.h:1887) ==26658== by 0x8B7F55: c_parser_if_statement (c-parser.c:6499) ==26658== by 0x8B7F55: c_parser_statement_after_labels(c_parser*, bool*, vec<tree_node*, va_heap, vl_ptr>*) (c-parser.c:6108) ==26658== by 0x8B856A: c_parser_compound_statement_nostart(c_parser*) (c-parser.c:5788) ==26658== by 0x8D2C6D: c_parser_compound_statement(c_parser*, unsigned int*) (c-parser.c:5597) ==26658== by 0x8B6569: c_parser_statement_after_labels(c_parser*, bool*, vec<tree_node*, va_heap, vl_ptr>*) (c-parser.c:6102) ==26658== by 0x8D5993: c_parser_statement (c-parser.c:6074) ==26658== by 0x8D5993: c_parser_c99_block_statement(c_parser*, bool*, unsigned int*) (c-parser.c:6314) ==26658== by 0x8D66E6: c_parser_while_statement(c_parser*, bool, unsigned short, bool*) (c-parser.c:6634) ==26658== by 0x8B6C90: c_parser_statement_after_labels(c_parser*, bool*, vec<tree_node*, va_heap, vl_ptr>*) (c-parser.c:6114) ==26658== by 0x8B856A: c_parser_compound_statement_nostart(c_parser*) (c-parser.c:5788) ==26658== by 0x8D2C6D: c_parser_compound_statement(c_parser*, unsigned int*) (c-parser.c:5597) ==26658== by 0x8D441F: c_parser_declaration_or_fndef(c_parser*, bool, bool, bool, bool, bool, tree_node**, vec<c_token, va_heap, vl_ptr>, bool, tree_node*, oacc_routine_data*, bool*) (c-parser.c:2539) ^ permalink raw reply [flat|nested] 5+ messages in thread
* [Bug c++/99057] Memory leak in cp_parser_selection_statement 2021-02-10 12:31 [Bug c++/99057] New: Memory leak in cp_parser_selection_statement marxin at gcc dot gnu.org 2021-02-10 12:34 ` [Bug c++/99057] " marxin at gcc dot gnu.org 2021-02-10 13:03 ` marxin at gcc dot gnu.org @ 2021-02-10 14:17 ` mpolacek at gcc dot gnu.org 2021-02-11 3:54 ` mpolacek at gcc dot gnu.org 3 siblings, 0 replies; 5+ messages in thread From: mpolacek at gcc dot gnu.org @ 2021-02-10 14:17 UTC (permalink / raw) To: gcc-bugs https://gcc.gnu.org/bugzilla/show_bug.cgi?id=99057 Marek Polacek <mpolacek at gcc dot gnu.org> changed: What |Removed |Added ---------------------------------------------------------------------------- Assignee|unassigned at gcc dot gnu.org |mpolacek at gcc dot gnu.org Status|NEW |ASSIGNED --- Comment #2 from Marek Polacek <mpolacek at gcc dot gnu.org> --- -Wduplicated-cond -> mine ^ permalink raw reply [flat|nested] 5+ messages in thread
* [Bug c++/99057] Memory leak in cp_parser_selection_statement 2021-02-10 12:31 [Bug c++/99057] New: Memory leak in cp_parser_selection_statement marxin at gcc dot gnu.org ` (2 preceding siblings ...) 2021-02-10 14:17 ` mpolacek at gcc dot gnu.org @ 2021-02-11 3:54 ` mpolacek at gcc dot gnu.org 3 siblings, 0 replies; 5+ messages in thread From: mpolacek at gcc dot gnu.org @ 2021-02-11 3:54 UTC (permalink / raw) To: gcc-bugs https://gcc.gnu.org/bugzilla/show_bug.cgi?id=99057 Marek Polacek <mpolacek at gcc dot gnu.org> changed: What |Removed |Added ---------------------------------------------------------------------------- Status|ASSIGNED |RESOLVED Resolution|--- |FIXED --- Comment #3 from Marek Polacek <mpolacek at gcc dot gnu.org> --- Fixed r11-7182-g27a804bc62805aedb1b097a00eb2c0059244680a. ^ permalink raw reply [flat|nested] 5+ messages in thread
end of thread, other threads:[~2021-02-11 3:54 UTC | newest] Thread overview: 5+ messages (download: mbox.gz / follow: Atom feed) -- links below jump to the message on this page -- 2021-02-10 12:31 [Bug c++/99057] New: Memory leak in cp_parser_selection_statement marxin at gcc dot gnu.org 2021-02-10 12:34 ` [Bug c++/99057] " marxin at gcc dot gnu.org 2021-02-10 13:03 ` marxin at gcc dot gnu.org 2021-02-10 14:17 ` mpolacek at gcc dot gnu.org 2021-02-11 3:54 ` mpolacek at gcc dot gnu.org
This is a public inbox, see mirroring instructions for how to clone and mirror all data and code used for this inbox; as well as URLs for read-only IMAP folder(s) and NNTP newsgroup(s).