diff options
Diffstat (limited to 'gcc/tree.c')
-rw-r--r-- | gcc/tree.c | 15 |
1 files changed, 9 insertions, 6 deletions
@@ -341,7 +341,10 @@ make_node_stat (enum tree_code code MEM_STAT_DECL) tree_node_sizes[(int) kind] += length; #endif - t = ggc_alloc_zone_stat (length, tree_zone PASS_MEM_STAT); + if (code == IDENTIFIER_NODE) + t = ggc_alloc_zone_stat (length, &tree_id_zone PASS_MEM_STAT); + else + t = ggc_alloc_zone_stat (length, &tree_zone PASS_MEM_STAT); memset (t, 0, length); @@ -425,7 +428,7 @@ copy_node_stat (tree node MEM_STAT_DECL) gcc_assert (code != STATEMENT_LIST); length = tree_size (node); - t = ggc_alloc_zone_stat (length, tree_zone PASS_MEM_STAT); + t = ggc_alloc_zone_stat (length, &tree_zone PASS_MEM_STAT); memcpy (t, node, length); TREE_CHAIN (t) = 0; @@ -910,7 +913,7 @@ make_tree_binfo_stat (unsigned base_binfos MEM_STAT_DECL) tree_node_sizes[(int) binfo_kind] += length; #endif - t = ggc_alloc_zone_stat (length, tree_zone PASS_MEM_STAT); + t = ggc_alloc_zone_stat (length, &tree_zone PASS_MEM_STAT); memset (t, 0, offsetof (struct tree_binfo, base_binfos)); @@ -935,7 +938,7 @@ make_tree_vec_stat (int len MEM_STAT_DECL) tree_node_sizes[(int) vec_kind] += length; #endif - t = ggc_alloc_zone_stat (length, tree_zone PASS_MEM_STAT); + t = ggc_alloc_zone_stat (length, &tree_zone PASS_MEM_STAT); memset (t, 0, length); @@ -1408,7 +1411,7 @@ tree_cons_stat (tree purpose, tree value, tree chain MEM_STAT_DECL) tree node; node = ggc_alloc_zone_stat (sizeof (struct tree_list), - tree_zone PASS_MEM_STAT); + &tree_zone PASS_MEM_STAT); memset (node, 0, sizeof (struct tree_common)); @@ -2502,7 +2505,7 @@ build1_stat (enum tree_code code, tree type, tree node MEM_STAT_DECL) gcc_assert (TREE_CODE_LENGTH (code) == 1); - t = ggc_alloc_zone_stat (length, tree_zone PASS_MEM_STAT); + t = ggc_alloc_zone_stat (length, &tree_zone PASS_MEM_STAT); memset (t, 0, sizeof (struct tree_common)); |