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

Reply via email to