public inbox for gcc-bugs@sourceware.org
help / color / mirror / Atom feed
* [Bug driver/34478] New: Memory leak in genconditions
@ 2007-12-15 11:47 wuhui1973 at 21cn dot com
2007-12-15 12:04 ` [Bug driver/34478] " pinskia at gcc dot gnu dot org
0 siblings, 1 reply; 2+ messages in thread
From: wuhui1973 at 21cn dot com @ 2007-12-15 11:47 UTC (permalink / raw)
To: gcc-bugs
in genconditions source, can see following code:
183 int main(int argc, char **argv)
184 {
...
194 if (init_md_reader (argv[1]) != SUCCESS_EXIT_CODE)
195 return (FATAL_EXIT_CODE);
196
197 condition_table = htab_create (1000, hash_c_test, cmp_c_test, NULL);
...
}
While in function init_md_reader, condition_table has been allocated as
following:
907 int
908 init_md_reader (const char *filename)
909 {
...
928 condition_table = htab_create (n_insn_conditions,
929 hash_c_test, cmp_c_test, NULL);
...
}
condition_table is allocated by xalloc, which seems not control by GC, so it
seems some memory leak here.
Suggest to add
if (condition_table)
delete condition_table;
just before line 197 above.
--
Summary: Memory leak in genconditions
Product: gcc
Version: 3.4.6
Status: UNCONFIRMED
Severity: enhancement
Priority: P3
Component: driver
AssignedTo: unassigned at gcc dot gnu dot org
ReportedBy: wuhui1973 at 21cn dot com
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=34478
^ permalink raw reply [flat|nested] 2+ messages in thread
* [Bug driver/34478] Memory leak in genconditions
2007-12-15 11:47 [Bug driver/34478] New: Memory leak in genconditions wuhui1973 at 21cn dot com
@ 2007-12-15 12:04 ` pinskia at gcc dot gnu dot org
0 siblings, 0 replies; 2+ messages in thread
From: pinskia at gcc dot gnu dot org @ 2007-12-15 12:04 UTC (permalink / raw)
To: gcc-bugs
------- Comment #1 from pinskia at gcc dot gnu dot org 2007-12-15 12:04 -------
Fixed by:
r110119 | zack | 2006-01-23 07:15:05 -0800 (Mon, 23 Jan 2006) | 37 lines
r110123@banpei: zack | 2006-01-22 14:44:34 -0800
* genconditions.c (condition_table, add_condition): Delete.
(write_conditions): Don't emit n_insn_conditions nor
insn_elision_unavailable. Issue the gcc version #ifdef here,
inside the table, with no #else clause ...
(write_header): ...not here.
(write_writer): New function.
(main): Don't initialize condition_table. Use add_c_test.
Call write_writer.
* gensupport.c (init_md_reader_args_cb): Handle multiple input
files on the command line.
(maybe_eval_c_test): Don't check insn_elision_unavailable.
Return -1 if there is no entry in the table, don't abort.
(add_c_test, traverse_c_tests): New functions.
* gensupport.h (insn_elision_unavailable, insn_conditions)
(n_insn_conditions): Delete declarations.
(add_c_test, traverse_c_tests): Declare.
* read-rtl.c: Include gensupport.h.
(read_conditions): New function.
(read_rtx): If read_rtx_1 returns 0, treat as EOF.
(read_rtx_1): If we get EOF when we were looking for an initial
open paren, return 0. Call read_conditions when appropriate.
* Makefile.in: Kill BUILD_EARLY_SUPPORT and all references to
dummy-conditions.o. Eliminate references to insn-conditions.o,
or change them to build/gencondmd.o, as appropriate. Remove
insn-constants.h from $(simple_generated_h) and insn-conditions.c
from $(simple_generated_c). For all files remaining in those
two lists, add insn-conditions.md to the generator command line.
Give insn-constants.h/s-constants their own rules. Add rules
for build/gencondmd.c, s-conditions, insn-conditions.md, s-condmd.
(build/read-rtl.o): Depend on gensupport.h.
(genprognormal): Include preds.
(genprogearly): Rename genprognoprint; only difference is now that
they don't link with $(BUILD_PRINT).
* dummy-conditions.c: Delete.
--
pinskia at gcc dot gnu dot org changed:
What |Removed |Added
----------------------------------------------------------------------------
Status|UNCONFIRMED |RESOLVED
Resolution| |FIXED
Target Milestone|--- |4.2.0
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=34478
^ permalink raw reply [flat|nested] 2+ messages in thread
end of thread, other threads:[~2007-12-15 12:04 UTC | newest]
Thread overview: 2+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2007-12-15 11:47 [Bug driver/34478] New: Memory leak in genconditions wuhui1973 at 21cn dot com
2007-12-15 12:04 ` [Bug driver/34478] " pinskia at gcc dot gnu dot 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).