aboutsummaryrefslogtreecommitdiff
path: root/gas/config
diff options
context:
space:
mode:
authorTrevor Saunders <tbsaunde+binutils@tbsaunde.org>2016-04-06 16:26:46 -0400
committerTrevor Saunders <tbsaunde+binutils@tbsaunde.org>2016-05-13 00:35:51 -0400
commitadd39d2344036db9334bdeb1ec20a90beaa3ca49 (patch)
tree44b3b0689101b65b48a629eadf305ba15cec10fb /gas/config
parent29a2809e4210d5055291e95de861b493c55b9c0a (diff)
downloadgdb-add39d2344036db9334bdeb1ec20a90beaa3ca49.zip
gdb-add39d2344036db9334bdeb1ec20a90beaa3ca49.tar.gz
gdb-add39d2344036db9334bdeb1ec20a90beaa3ca49.tar.bz2
use XNEW and related macros more
Its a bit shorter and simpler than raw xmalloc. gas/ChangeLog: 2016-05-13 Trevor Saunders <tbsaunde+binutils@tbsaunde.org> * app.c (app_push): Use XNEW and related macros. * as.c (parse_args): Likewise. * cgen.c (make_right_shifted_expr): Likewise. (gas_cgen_tc_gen_reloc): Likewise. * config/bfin-defs.h: Likewise. * config/bfin-parse.y: Likewise. * config/obj-coff.c (stack_init): Likewise. (stack_push): Likewise. (coff_obj_symbol_new_hook): Likewise. (coff_obj_symbol_clone_hook): Likewise. (add_lineno): Likewise. (coff_frob_symbol): Likewise. * config/obj-elf.c (obj_elf_section_name): Likewise. (build_group_lists): Likewise. * config/obj-evax.c (evax_symbol_new_hook): Likewise. * config/obj-macho.c (obj_mach_o_indirect_symbol): Likewise. * config/tc-aarch64.c (insert_reg_alias): Likewise. (find_or_make_literal_pool): Likewise. (add_to_lit_pool): Likewise. (fill_instruction_hash_table): Likewise. * config/tc-alpha.c (load_expression): Likewise. (emit_jsrjmp): Likewise. (s_alpha_ent): Likewise. (s_alpha_end): Likewise. (s_alpha_linkage): Likewise. (md_begin): Likewise. (tc_gen_reloc): Likewise. * config/tc-arc.c (arc_insert_opcode): Likewise. (arc_extcorereg): Likewise. * config/tc-bfin.c: Likewise. * config/tc-cr16.c: Likewise. * config/tc-cris.c: Likewise. * config/tc-crx.c (preprocess_reglist): Likewise. * config/tc-d10v.c: Likewise. * config/tc-frv.c (frv_insert_vliw_insn): Likewise. (frv_tomcat_shuffle): Likewise. * config/tc-h8300.c: Likewise. * config/tc-i370.c (i370_macro): Likewise. * config/tc-i386.c (lex_got): Likewise. (md_parse_option): Likewise. * config/tc-ia64.c (alloc_record): Likewise. (set_imask): Likewise. (save_prologue_count): Likewise. (dot_proc): Likewise. (dot_endp): Likewise. (ia64_frob_label): Likewise. (add_qp_imply): Likewise. (add_qp_mutex): Likewise. (mark_resource): Likewise. (dot_alias): Likewise. * config/tc-m68hc11.c: Likewise. * config/tc-m68k.c (m68k_frob_label): Likewise. (s_save): Likewise. (mri_control_label): Likewise. (push_mri_control): Likewise. (build_mri_control_operand): Likewise. (s_mri_else): Likewise. (s_mri_break): Likewise. (s_mri_next): Likewise. (s_mri_for): Likewise. (s_mri_endw): Likewise. * config/tc-metag.c (create_mnemonic_htab): Likewise. * config/tc-microblaze.c: Likewise. * config/tc-mmix.c (s_loc): Likewise. * config/tc-nds32.c (nds32_relax_hint): Likewise. * config/tc-nios2.c (nios2_insn_reloc_new): Likewise. * config/tc-rl78.c: Likewise. * config/tc-rx.c (rx_include): Likewise. * config/tc-sh.c: Likewise. * config/tc-sh64.c (shmedia_frob_section_type): Likewise. * config/tc-sparc.c: Likewise. * config/tc-spu.c: Likewise. * config/tc-tic6x.c (static tic6x_unwind_info *tic6x_get_unwind): Likewise. (tic6x_start_unwind_section): Likewise. * config/tc-tilegx.c: Likewise. * config/tc-tilepro.c: Likewise. * config/tc-v850.c: Likewise. * config/tc-visium.c: Likewise. * config/tc-xgate.c: Likewise. * config/tc-xtensa.c (xtensa_translate_old_userreg_ops): Likewise. (new_resource_table): Likewise. (resize_resource_table): Likewise. (xtensa_create_trampoline_frag): Likewise. (xtensa_maybe_create_literal_pool_frag): Likewise. (cache_literal_section): Likewise. * config/xtensa-relax.c (append_transition): Likewise. (append_condition): Likewise. (append_value_condition): Likewise. (append_constant_value_condition): Likewise. (append_literal_op): Likewise. (append_label_op): Likewise. (append_constant_op): Likewise. (append_field_op): Likewise. (append_user_fn_field_op): Likewise. (enter_opname_n): Likewise. (enter_opname): Likewise. (split_string): Likewise. (parse_insn_templ): Likewise. (clone_req_or_option_list): Likewise. (clone_req_option_list): Likewise. (parse_option_cond): Likewise. (parse_insn_pattern): Likewise. (parse_insn_repl): Likewise. (build_transition): Likewise. (build_transition_table): Likewise. * dw2gencfi.c (alloc_fde_entry): Likewise. (alloc_cfi_insn_data): Likewise. (cfi_add_CFA_remember_state): Likewise. (dot_cfi_escape): Likewise. (dot_cfi_fde_data): Likewise. (select_cie_for_fde): Likewise. * dwarf2dbg.c (dwarf2_directive_loc): Likewise. * ecoff.c (ecoff_add_bytes): Likewise. (ecoff_build_debug): Likewise. * input-scrub.c (input_scrub_push): Likewise. (input_scrub_begin): Likewise. (input_scrub_next_buffer): Likewise. * itbl-ops.c (append_insns_as_macros): Likewise. (alloc_entry): Likewise. (alloc_field): Likewise. * listing.c (listing_newline): Likewise. (listing_listing): Likewise. * macro.c (get_any_string): Likewise. (delete_macro): Likewise. * stabs.c (generate_asm_file): Likewise. (stabs_generate_asm_lineno): Likewise. * subsegs.c (subseg_change): Likewise. (subseg_get): Likewise. * symbols.c (define_dollar_label): Likewise. (symbol_relc_make_sym): Likewise. * write.c (write_relocs): Likewise.
Diffstat (limited to 'gas/config')
-rw-r--r--gas/config/bfin-defs.h1
-rw-r--r--gas/config/bfin-parse.y2
-rw-r--r--gas/config/obj-coff.c22
-rw-r--r--gas/config/obj-elf.c8
-rw-r--r--gas/config/obj-evax.c3
-rw-r--r--gas/config/obj-macho.c3
-rw-r--r--gas/config/tc-aarch64.c9
-rw-r--r--gas/config/tc-alpha.c21
-rw-r--r--gas/config/tc-arc.c17
-rw-r--r--gas/config/tc-bfin.c4
-rw-r--r--gas/config/tc-cr16.c4
-rw-r--r--gas/config/tc-cris.c4
-rw-r--r--gas/config/tc-crx.c2
-rw-r--r--gas/config/tc-d10v.c4
-rw-r--r--gas/config/tc-frv.c10
-rw-r--r--gas/config/tc-h8300.c5
-rw-r--r--gas/config/tc-i370.c6
-rw-r--r--gas/config/tc-i386.c14
-rw-r--r--gas/config/tc-ia64.c31
-rw-r--r--gas/config/tc-m68hc11.c11
-rw-r--r--gas/config/tc-m68k.c32
-rw-r--r--gas/config/tc-metag.c6
-rw-r--r--gas/config/tc-microblaze.c4
-rw-r--r--gas/config/tc-mmix.c7
-rw-r--r--gas/config/tc-nds32.c10
-rw-r--r--gas/config/tc-nios2.c6
-rw-r--r--gas/config/tc-rl78.c8
-rw-r--r--gas/config/tc-rx.c4
-rw-r--r--gas/config/tc-sh.c4
-rw-r--r--gas/config/tc-sh64.c2
-rw-r--r--gas/config/tc-sparc.c8
-rw-r--r--gas/config/tc-spu.c4
-rw-r--r--gas/config/tc-tic6x.c4
-rw-r--r--gas/config/tc-tilegx.c4
-rw-r--r--gas/config/tc-tilepro.c4
-rw-r--r--gas/config/tc-v850.c4
-rw-r--r--gas/config/tc-visium.c4
-rw-r--r--gas/config/tc-xgate.c10
-rw-r--r--gas/config/tc-xtensa.c14
-rw-r--r--gas/config/xtensa-relax.c48
40 files changed, 170 insertions, 198 deletions
diff --git a/gas/config/bfin-defs.h b/gas/config/bfin-defs.h
index 4c1d8b7..256587c 100644
--- a/gas/config/bfin-defs.h
+++ b/gas/config/bfin-defs.h
@@ -325,7 +325,6 @@ Expr_Node *Expr_Node_Create (Expr_Node_Type type,
INSTR_T Expr_Node_Gen_Reloc (Expr_Node *head, int parent_reloc);
#define MKREF(x) mkexpr (0,x)
-#define ALLOCATE(x) malloc (x)
#define NULL_CODE ((INSTR_T) 0)
diff --git a/gas/config/bfin-parse.y b/gas/config/bfin-parse.y
index 26070c1..a2eaa4c 100644
--- a/gas/config/bfin-parse.y
+++ b/gas/config/bfin-parse.y
@@ -4494,7 +4494,7 @@ expr_1: expr_1 STAR expr_1
EXPR_T
mkexpr (int x, SYMBOL_T s)
{
- EXPR_T e = (EXPR_T) ALLOCATE (sizeof (struct expression_cell));
+ EXPR_T e = XNEW (struct expression_cell);
e->value = x;
EXPR_SYMBOL(e) = s;
return e;
diff --git a/gas/config/obj-coff.c b/gas/config/obj-coff.c
index 059f1cc..24f22b5 100644
--- a/gas/config/obj-coff.c
+++ b/gas/config/obj-coff.c
@@ -77,10 +77,8 @@ stack_init (unsigned long chunk_size,
{
stack *st;
- st = malloc (sizeof (* st));
- if (!st)
- return NULL;
- st->data = malloc (chunk_size);
+ st = XNEW (stack);
+ st->data = XNEWVEC (char, chunk_size);
if (!st->data)
{
free (st);
@@ -99,8 +97,7 @@ stack_push (stack *st, char *element)
if (st->pointer + st->element_size >= st->size)
{
st->size += st->chunk_size;
- if ((st->data = xrealloc (st->data, st->size)) == NULL)
- return NULL;
+ st->data = XRESIZEVEC (char, st->data, st->size);
}
memcpy (st->data + st->pointer, element, st->element_size);
st->pointer += st->element_size;
@@ -383,7 +380,7 @@ void
coff_obj_symbol_new_hook (symbolS *symbolP)
{
long sz = (OBJ_COFF_MAX_AUXENTRIES + 1) * sizeof (combined_entry_type);
- char * s = xmalloc (sz);
+ char * s = XNEWVEC (char, sz);
memset (s, 0, sz);
coffsymbol (symbol_get_bfdsym (symbolP))->native = (combined_entry_type *) s;
@@ -403,10 +400,11 @@ coff_obj_symbol_new_hook (symbolS *symbolP)
void
coff_obj_symbol_clone_hook (symbolS *newsymP, symbolS *orgsymP)
{
- long sz = (OBJ_COFF_MAX_AUXENTRIES + 1) * sizeof (combined_entry_type);
- combined_entry_type * s = xmalloc (sz);
+ long elts = OBJ_COFF_MAX_AUXENTRIES + 1;
+ combined_entry_type * s = XNEWVEC (combined_entry_type, elts);
- memcpy (s, coffsymbol (symbol_get_bfdsym (orgsymP))->native, sz);
+ memcpy (s, coffsymbol (symbol_get_bfdsym (orgsymP))->native,
+ elts * sizeof (combined_entry_type));
coffsymbol (symbol_get_bfdsym (newsymP))->native = s;
SF_SET (newsymP, SF_GET (orgsymP));
@@ -423,7 +421,7 @@ int coff_n_line_nos;
static void
add_lineno (fragS * frag, addressT offset, int num)
{
- struct line_no * new_line = xmalloc (sizeof (* new_line));
+ struct line_no * new_line = XNEW (struct line_no);
if (!current_lineno_sym)
abort ();
@@ -1444,7 +1442,7 @@ coff_frob_symbol (symbolS *symp, int *punt)
/* We need i entries for line numbers, plus 1 for the first
entry which BFD will override, plus 1 for the last zero
entry (a marker for BFD). */
- l = xmalloc ((i + 2) * sizeof (* l));
+ l = XNEWVEC (alent, (i + 2));
coffsymbol (symbol_get_bfdsym (symp))->lineno = l;
l[i + 1].line_number = 0;
l[i + 1].u.sym = NULL;
diff --git a/gas/config/obj-elf.c b/gas/config/obj-elf.c
index b7eb7c1..8af563f 100644
--- a/gas/config/obj-elf.c
+++ b/gas/config/obj-elf.c
@@ -959,7 +959,7 @@ obj_elf_section_name (void)
int oldlen = strlen (name);
int substlen = strlen (now_seg->name);
int newlen = oldlen - 2 + substlen;
- char *newname = (char *) xmalloc (newlen + 1);
+ char *newname = XNEWVEC (char, newlen + 1);
int headlen = subst - name;
memcpy (newname, name, headlen);
strcpy (newname + headlen, now_seg->name);
@@ -2324,10 +2324,8 @@ build_group_lists (bfd *abfd ATTRIBUTE_UNUSED, asection *sec, void *inf)
if ((i & 127) == 0)
{
unsigned int newsize = i + 128;
- list->head = (asection **) xrealloc (list->head,
- newsize * sizeof (*list->head));
- list->elt_count = (unsigned int *)
- xrealloc (list->elt_count, newsize * sizeof (*list->elt_count));
+ list->head = XRESIZEVEC (asection *, list->head, newsize);
+ list->elt_count = XRESIZEVEC (unsigned int, list->elt_count, newsize);
}
list->head[i] = sec;
list->elt_count[i] = 1;
diff --git a/gas/config/obj-evax.c b/gas/config/obj-evax.c
index 4458286..b6d8c31 100644
--- a/gas/config/obj-evax.c
+++ b/gas/config/obj-evax.c
@@ -86,8 +86,7 @@ evax_symbol_new_hook (symbolS *sym)
{
struct evax_private_udata_struct *udata;
- udata = (struct evax_private_udata_struct *)
- xmalloc (sizeof (struct evax_private_udata_struct));
+ udata = XNEW (struct evax_private_udata_struct);
udata->bsym = symbol_get_bfdsym (sym);
udata->enbsym = NULL;
diff --git a/gas/config/obj-macho.c b/gas/config/obj-macho.c
index ba079f3..13d0043 100644
--- a/gas/config/obj-macho.c
+++ b/gas/config/obj-macho.c
@@ -1195,8 +1195,7 @@ obj_mach_o_indirect_symbol (int arg ATTRIBUTE_UNUSED)
indirect, it is promoted to a 'real' one. Fetching the bfd sym
achieves this. */
symbol_get_bfdsym (sym);
- isym = (obj_mach_o_indirect_sym *)
- xmalloc (sizeof (obj_mach_o_indirect_sym));
+ isym = XNEW (obj_mach_o_indirect_sym);
/* Just record the data for now, we will validate it when we
compute the output in obj_mach_o_set_indirect_symbols. */
diff --git a/gas/config/tc-aarch64.c b/gas/config/tc-aarch64.c
index 8213a18..415663b 100644
--- a/gas/config/tc-aarch64.c
+++ b/gas/config/tc-aarch64.c
@@ -1187,7 +1187,7 @@ insert_reg_alias (char *str, int number, aarch64_reg_type type)
}
name = xstrdup (str);
- new = xmalloc (sizeof (reg_entry));
+ new = XNEW (reg_entry);
new->name = name;
new->number = number;
@@ -1575,7 +1575,7 @@ find_or_make_literal_pool (int size)
if (pool == NULL)
{
/* Create a new pool. */
- pool = xmalloc (sizeof (*pool));
+ pool = XNEW (literal_pool);
if (!pool)
return NULL;
@@ -1652,7 +1652,8 @@ add_to_lit_pool (expressionS *exp, int size)
{
/* PR 16688: Bignums are held in a single global array. We must
copy and preserve that value now, before it is overwritten. */
- pool->literals[entry].bignum = xmalloc (CHARS_PER_LITTLENUM * exp->X_add_number);
+ pool->literals[entry].bignum = XNEWVEC (LITTLENUM_TYPE,
+ exp->X_add_number);
memcpy (pool->literals[entry].bignum, generic_bignum,
CHARS_PER_LITTLENUM * exp->X_add_number);
}
@@ -7505,7 +7506,7 @@ fill_instruction_hash_table (void)
templates *templ, *new_templ;
templ = hash_find (aarch64_ops_hsh, opcode->name);
- new_templ = (templates *) xmalloc (sizeof (templates));
+ new_templ = XNEW (templates);
new_templ->opcode = opcode;
new_templ->next = NULL;
diff --git a/gas/config/tc-alpha.c b/gas/config/tc-alpha.c
index 638f160..c70b164 100644
--- a/gas/config/tc-alpha.c
+++ b/gas/config/tc-alpha.c
@@ -1384,7 +1384,7 @@ load_expression (int targreg,
ptr1 = strstr (symname, "..") + 2;
if (ptr1 > ptr2)
ptr1 = symname;
- ensymname = (char *) xmalloc (ptr2 - ptr1 + 5);
+ ensymname = XNEWVEC (char, ptr2 - ptr1 + 5);
memcpy (ensymname, ptr1, ptr2 - ptr1);
memcpy (ensymname + (ptr2 - ptr1), "..en", 5);
@@ -2881,7 +2881,7 @@ emit_jsrjmp (const expressionS *tok,
char *ensymname;
/* Build the entry name as 'NAME..en'. */
- ensymname = (char *) xmalloc (symlen + 5);
+ ensymname = XNEWVEC (char, symlen + 5);
memcpy (ensymname, symname, symlen);
memcpy (ensymname + symlen, "..en", 5);
@@ -3733,8 +3733,7 @@ s_alpha_ent (int dummy ATTRIBUTE_UNUSED)
sym = symbol_find_or_make (name);
symbol_get_bfdsym (sym)->flags |= BSF_FUNCTION;
- cur_frame_data = (struct alpha_elf_frame_data *)
- calloc (1, sizeof (*cur_frame_data));
+ cur_frame_data = XCNEW (struct alpha_elf_frame_data);
cur_frame_data->func_sym = sym;
/* Provide sensible defaults. */
@@ -3789,7 +3788,7 @@ s_alpha_end (int dummy ATTRIBUTE_UNUSED)
if (sym && cur_frame_data)
{
OBJ_SYMFIELD_TYPE *obj = symbol_get_obj (sym);
- expressionS *exp = (expressionS *) xmalloc (sizeof (expressionS));
+ expressionS *exp = XNEW (expressionS);
obj->size = exp;
exp->X_op = O_subtract;
@@ -4712,8 +4711,7 @@ s_alpha_linkage (int ignore ATTRIBUTE_UNUSED)
(FAKE_LABEL_NAME, now_seg, (valueT) frag_now_fix (), frag_now);
/* Create a linkage element. */
- linkage_fixup = (struct alpha_linkage_fixups *)
- xmalloc (sizeof (struct alpha_linkage_fixups));
+ linkage_fixup = XNEW (struct alpha_linkage_fixups);
linkage_fixup->fixp = fixp;
linkage_fixup->next = NULL;
linkage_fixup->label = alpha_insn_label;
@@ -5439,7 +5437,7 @@ md_begin (void)
if ((slash = strchr (name, '/')) != NULL)
{
- char *p = (char *) xmalloc (strlen (name));
+ char *p = XNEWVEC (char, strlen (name));
memcpy (p, name, slash - name);
strcpy (p + (slash - name), slash + 1);
@@ -6220,8 +6218,8 @@ tc_gen_reloc (asection *sec ATTRIBUTE_UNUSED,
{
arelent *reloc;
- reloc = (arelent *) xmalloc (sizeof (* reloc));
- reloc->sym_ptr_ptr = (asymbol **) xmalloc (sizeof (asymbol *));
+ reloc = XNEW (arelent);
+ reloc->sym_ptr_ptr = XNEW (asymbol *);
*reloc->sym_ptr_ptr = symbol_get_bfdsym (fixp->fx_addsy);
reloc->address = fixp->fx_frag->fr_address + fixp->fx_where;
@@ -6296,8 +6294,7 @@ tc_gen_reloc (asection *sec ATTRIBUTE_UNUSED,
pname = symbol_get_bfdsym (sym)->name;
}
- udata = (struct evax_private_udata_struct *)
- xmalloc (sizeof (struct evax_private_udata_struct));
+ udata = XNEW (struct evax_private_udata_struct);
udata->enbsym = symbol_get_bfdsym (fixp->fx_addsy);
udata->bsym = symbol_get_bfdsym (fixp->tc_fix_data.info->psym);
udata->origname = (char *)pname;
diff --git a/gas/config/tc-arc.c b/gas/config/tc-arc.c
index 67c0ec2..28f135b 100644
--- a/gas/config/tc-arc.c
+++ b/gas/config/tc-arc.c
@@ -700,7 +700,7 @@ arc_insert_opcode (const struct arc_opcode *opcode)
entry = hash_find (arc_opcode_hash, name);
if (entry == NULL)
{
- entry = xmalloc (sizeof (*entry));
+ entry = XNEW (struct arc_opcode_hash_entry);
entry->count = 0;
entry->opcode = NULL;
@@ -710,9 +710,8 @@ arc_insert_opcode (const struct arc_opcode *opcode)
name, retval);
}
- entry->opcode = xrealloc (entry->opcode,
- sizeof (const struct arc_opcode *)
- * (entry->count + 1));
+ entry->opcode = XRESIZEVEC (const struct arc_opcode *, entry->opcode,
+ entry->count + 1);
if (entry->opcode == NULL)
as_fatal (_("Virtual memory exhausted"));
@@ -2937,8 +2936,8 @@ tc_gen_reloc (asection *section ATTRIBUTE_UNUSED,
arelent *reloc;
bfd_reloc_code_real_type code;
- reloc = (arelent *) xmalloc (sizeof (* reloc));
- reloc->sym_ptr_ptr = (asymbol **) xmalloc (sizeof (asymbol *));
+ reloc = XNEW (arelent);
+ reloc->sym_ptr_ptr = XNEW (asymbol *);
*reloc->sym_ptr_ptr = symbol_get_bfdsym (fixP->fx_addsy);
reloc->address = fixP->fx_frag->fr_address + fixP->fx_where;
@@ -4471,7 +4470,7 @@ arc_extcorereg (int opertype)
break;
case EXT_AUX_REGISTER:
/* Auxiliary register. */
- auxr = xmalloc (sizeof (struct arc_aux_reg));
+ auxr = XNEW (struct arc_aux_reg);
auxr->name = ereg.name;
auxr->cpu = arc_target;
auxr->subclass = NONE;
@@ -4488,8 +4487,8 @@ arc_extcorereg (int opertype)
ereg.number);
ext_condcode.size ++;
ext_condcode.arc_ext_condcode =
- xrealloc (ext_condcode.arc_ext_condcode,
- (ext_condcode.size + 1) * sizeof (struct arc_flag_operand));
+ XRESIZEVEC (struct arc_flag_operand, ext_condcode.arc_ext_condcode,
+ ext_condcode.size + 1);
if (ext_condcode.arc_ext_condcode == NULL)
as_fatal (_("Virtual memory exhausted"));
diff --git a/gas/config/tc-bfin.c b/gas/config/tc-bfin.c
index 8cf2d5b..8958c7e 100644
--- a/gas/config/tc-bfin.c
+++ b/gas/config/tc-bfin.c
@@ -811,8 +811,8 @@ tc_gen_reloc (asection *seg ATTRIBUTE_UNUSED, fixS *fixp)
{
arelent *reloc;
- reloc = (arelent *) xmalloc (sizeof (arelent));
- reloc->sym_ptr_ptr = (asymbol **) xmalloc (sizeof (asymbol *));
+ reloc = XNEW (arelent);
+ reloc->sym_ptr_ptr = XNEW (asymbol *);
*reloc->sym_ptr_ptr = symbol_get_bfdsym (fixp->fx_addsy);
reloc->address = fixp->fx_frag->fr_address + fixp->fx_where;
diff --git a/gas/config/tc-cr16.c b/gas/config/tc-cr16.c
index 119f130..b7fffa7 100644
--- a/gas/config/tc-cr16.c
+++ b/gas/config/tc-cr16.c
@@ -528,8 +528,8 @@ tc_gen_reloc (asection *section ATTRIBUTE_UNUSED, fixS * fixP)
&& (S_GET_SEGMENT (fixP->fx_subsy) == absolute_section)))
return NULL;
- reloc = xmalloc (sizeof (arelent));
- reloc->sym_ptr_ptr = xmalloc (sizeof (asymbol *));
+ reloc = XNEW (arelent);
+ reloc->sym_ptr_ptr = XNEW (asymbol *);
*reloc->sym_ptr_ptr = symbol_get_bfdsym (fixP->fx_addsy);
reloc->address = fixP->fx_frag->fr_address + fixP->fx_where;
reloc->addend = fixP->fx_offset;
diff --git a/gas/config/tc-cris.c b/gas/config/tc-cris.c
index 536e6cb..74af4ce 100644
--- a/gas/config/tc-cris.c
+++ b/gas/config/tc-cris.c
@@ -3959,9 +3959,9 @@ tc_gen_reloc (asection *section ATTRIBUTE_UNUSED, fixS *fixP)
return 0;
}
- relP = (arelent *) xmalloc (sizeof (arelent));
+ relP = XNEW (arelent);
gas_assert (relP != 0);
- relP->sym_ptr_ptr = (asymbol **) xmalloc (sizeof (asymbol *));
+ relP->sym_ptr_ptr = XNEW (asymbol *);
*relP->sym_ptr_ptr = symbol_get_bfdsym (fixP->fx_addsy);
relP->address = fixP->fx_frag->fr_address + fixP->fx_where;
diff --git a/gas/config/tc-crx.c b/gas/config/tc-crx.c
index 7993e72..4b829c2 100644
--- a/gas/config/tc-crx.c
+++ b/gas/config/tc-crx.c
@@ -1765,7 +1765,7 @@ preprocess_reglist (char *param, int *allocated)
while (*paramP++ != '{');
- new_param = (char *)xcalloc (MAX_INST_LEN, sizeof (char));
+ new_param = XCNEWVEC (char, MAX_INST_LEN);
*allocated = 1;
strncpy (new_param, param, paramP - param - 1);
diff --git a/gas/config/tc-d10v.c b/gas/config/tc-d10v.c
index e2a2caa..03b264d 100644
--- a/gas/config/tc-d10v.c
+++ b/gas/config/tc-d10v.c
@@ -1451,8 +1451,8 @@ arelent *
tc_gen_reloc (asection *seg ATTRIBUTE_UNUSED, fixS *fixp)
{
arelent *reloc;
- reloc = xmalloc (sizeof (arelent));
- reloc->sym_ptr_ptr = xmalloc (sizeof (asymbol *));
+ reloc = XNEW (arelent);
+ reloc->sym_ptr_ptr = XNEW (asymbol *);
*reloc->sym_ptr_ptr = symbol_get_bfdsym (fixp->fx_addsy);
reloc->address = fixp->fx_frag->fr_address + fixp->fx_where;
reloc->howto = bfd_reloc_type_lookup (stdoutput, fixp->fx_r_type);
diff --git a/gas/config/tc-frv.c b/gas/config/tc-frv.c
index 61d17a7..8912f44 100644
--- a/gas/config/tc-frv.c
+++ b/gas/config/tc-frv.c
@@ -524,7 +524,7 @@ frv_insert_vliw_insn (bfd_boolean count)
if (current_vliw_chain == NULL)
{
- vliw_chain_entry = (struct vliw_chain *) xmalloc (sizeof (struct vliw_chain));
+ vliw_chain_entry = XNEW (struct vliw_chain);
vliw_chain_entry->insn_count = 0;
vliw_chain_entry->insn_list = NULL;
vliw_chain_entry->next = NULL;
@@ -537,7 +537,7 @@ frv_insert_vliw_insn (bfd_boolean count)
previous_vliw_chain->next = vliw_chain_entry;
}
- vliw_insn_list_entry = (struct vliw_insn_list *) xmalloc (sizeof (struct vliw_insn_list));
+ vliw_insn_list_entry = XNEW (struct vliw_insn_list);
vliw_insn_list_entry->type = VLIW_GENERIC_TYPE;
vliw_insn_list_entry->insn = NULL;
vliw_insn_list_entry->sym = NULL;
@@ -678,9 +678,9 @@ frv_tomcat_shuffle (enum vliw_nop_type this_nop_type,
struct vliw_insn_list *prev_insn = NULL;
struct vliw_insn_list *curr_insn = vliw_to_split->insn_list;
- struct vliw_chain *double_nop = (struct vliw_chain *) xmalloc (sizeof (struct vliw_chain));
- struct vliw_chain *single_nop = (struct vliw_chain *) xmalloc (sizeof (struct vliw_chain));
- struct vliw_chain *second_part = (struct vliw_chain *) xmalloc (sizeof (struct vliw_chain));
+ struct vliw_chain *double_nop = XNEW (struct vliw_chain);
+ struct vliw_chain *single_nop = XNEW (struct vliw_chain);
+ struct vliw_chain *second_part = XNEW (struct vliw_chain);
struct vliw_chain *curr_vliw = vliw_chain_top;
struct vliw_chain *prev_vliw = NULL;
diff --git a/gas/config/tc-h8300.c b/gas/config/tc-h8300.c
index 5100f0d..048d31e 100644
--- a/gas/config/tc-h8300.c
+++ b/gas/config/tc-h8300.c
@@ -252,8 +252,7 @@ md_begin (void)
nopcodes = sizeof (h8_opcodes) / sizeof (struct h8_opcode);
- h8_instructions = (struct h8_instruction *)
- xmalloc (nopcodes * sizeof (struct h8_instruction));
+ h8_instructions = XNEWVEC (struct h8_instruction, nopcodes);
pi = h8_instructions;
p1 = h8_opcodes;
@@ -273,7 +272,7 @@ md_begin (void)
break;
/* Strip off any . part when inserting the opcode and only enter
unique codes into the hash table. */
- dst = buffer = malloc (strlen (src) + 1);
+ dst = buffer = XNEWVEC (char, strlen (src) + 1);
while (*src)
{
if (*src == '.')
diff --git a/gas/config/tc-i370.c b/gas/config/tc-i370.c
index 7e2f146..ac8aa95 100644
--- a/gas/config/tc-i370.c
+++ b/gas/config/tc-i370.c
@@ -1867,7 +1867,7 @@ i370_macro (char *str, const struct i370_macro *macro)
}
/* Put the string together. */
- complete = s = xmalloc (len + 1);
+ complete = s = XNEWVEC (char, len + 1);
format = macro->format;
while (*format != '\0')
{
@@ -2603,9 +2603,9 @@ tc_gen_reloc (asection *seg ATTRIBUTE_UNUSED, fixS *fixp)
{
arelent *reloc;
- reloc = xmalloc (sizeof (arelent));
+ reloc = XNEW (arelent);
- reloc->sym_ptr_ptr = xmalloc (sizeof (asymbol *));
+ reloc->sym_ptr_ptr = XNEW (asymbol *);
*reloc->sym_ptr_ptr = symbol_get_bfdsym (fixp->fx_addsy);
reloc->address = fixp->fx_frag->fr_address + fixp->fx_where;
reloc->howto = bfd_reloc_type_lookup (stdoutput, fixp->fx_r_type);
diff --git a/gas/config/tc-i386.c b/gas/config/tc-i386.c
index 2aeaf7b..25a0fa2 100644
--- a/gas/config/tc-i386.c
+++ b/gas/config/tc-i386.c
@@ -2513,7 +2513,7 @@ md_begin (void)
/* Setup for loop. */
optab = i386_optab;
- core_optab = (templates *) xmalloc (sizeof (templates));
+ core_optab = XNEW (templates);
core_optab->start = optab;
while (1)
@@ -2536,7 +2536,7 @@ md_begin (void)
}
if (optab->name == NULL)
break;
- core_optab = (templates *) xmalloc (sizeof (templates));
+ core_optab = XNEW (templates);
core_optab->start = optab;
}
}
@@ -7607,7 +7607,7 @@ lex_got (enum bfd_reloc_code_real *rel,
/* Allocate and copy string. The trailing NUL shouldn't
be necessary, but be safe. */
- tmpbuf = (char *) xmalloc (first + second + 2);
+ tmpbuf = XNEWVEC (char, first + second + 2);
memcpy (tmpbuf, input_line_pointer, first);
if (second != 0 && *past_reloc != ' ')
/* Replace the relocation token with ' ', so that
@@ -7715,7 +7715,7 @@ lex_got (enum bfd_reloc_code_real *rel ATTRIBUTE_UNUSED,
/* Allocate and copy string. The trailing NUL shouldn't
be necessary, but be safe. */
- tmpbuf = (char *) xmalloc (first + second + 2);
+ tmpbuf = XNEWVEC (char, first + second + 2);
memcpy (tmpbuf, input_line_pointer, first);
if (second != 0 && *past_reloc != ' ')
/* Replace the relocation token with ' ', so that
@@ -9797,7 +9797,7 @@ md_parse_option (int c, const char *arg)
char *n, *t;
const char *s;
- n = (char *) xmalloc (strlen (i386_comment_chars) + 1);
+ n = XNEWVEC (char, strlen (i386_comment_chars) + 1);
t = n;
for (s = i386_comment_chars; *s != '\0'; s++)
if (*s != '/')
@@ -10603,8 +10603,8 @@ tc_gen_reloc (asection *section ATTRIBUTE_UNUSED, fixS *fixp)
code = BFD_RELOC_X86_64_GOTPC64;
}
- rel = (arelent *) xmalloc (sizeof (arelent));
- rel->sym_ptr_ptr = (asymbol **) xmalloc (sizeof (asymbol *));
+ rel = XNEW (arelent);
+ rel->sym_ptr_ptr = XNEW (asymbol *);
*rel->sym_ptr_ptr = symbol_get_bfdsym (fixp->fx_addsy);
rel->address = fixp->fx_frag->fr_address + fixp->fx_where;
diff --git a/gas/config/tc-ia64.c b/gas/config/tc-ia64.c
index c2194aa..c0eb593 100644
--- a/gas/config/tc-ia64.c
+++ b/gas/config/tc-ia64.c
@@ -1741,7 +1741,7 @@ static unw_rec_list *
alloc_record (unw_record_type t)
{
unw_rec_list *ptr;
- ptr = xmalloc (sizeof (*ptr));
+ ptr = XNEW (unw_rec_list);
memset (ptr, 0, sizeof (*ptr));
ptr->slot_number = SLOT_NUM_NOT_SET;
ptr->r.type = t;
@@ -2650,8 +2650,7 @@ set_imask (unw_rec_list *region,
if (!imask)
{
imask_size = (region->r.record.r.rlen * 2 + 7) / 8 + 1;
- imask = xmalloc (imask_size);
- memset (imask, 0, imask_size);
+ imask = XCNEWVEC (unsigned char, imask_size);
region->r.record.r.imask_size = imask_size;
region->r.record.r.mask.i = imask;
@@ -4110,7 +4109,7 @@ save_prologue_count (unsigned long lbl, unsigned int count)
lpc->prologue_count = count;
else
{
- label_prologue_count *new_lpc = xmalloc (sizeof (* new_lpc));
+ label_prologue_count *new_lpc = XNEW (label_prologue_count);
new_lpc->next = unwind.saved_prologue_counts;
new_lpc->label_number = lbl;
@@ -4262,7 +4261,7 @@ dot_proc (int dummy ATTRIBUTE_UNUSED)
}
else
{
- pending = xmalloc (sizeof (*pending));
+ pending = XNEW (proc_pending);
pending->sym = sym;
last_pending = last_pending->next = pending;
}
@@ -4484,8 +4483,7 @@ dot_endp (int dummy ATTRIBUTE_UNUSED)
S_SET_SIZE (sym, frag_now_fix () - S_GET_VALUE (sym));
else
{
- symbol_get_obj (sym)->size =
- (expressionS *) xmalloc (sizeof (expressionS));
+ symbol_get_obj (sym)->size = XNEW (expressionS);
symbol_get_obj (sym)->size->X_op = O_subtract;
symbol_get_obj (sym)->size->X_add_symbol
= symbol_new (FAKE_LABEL_NAME, now_seg,
@@ -7789,9 +7787,8 @@ ia64_frob_label (struct symbol *sym)
if (md.path == md.maxpaths)
{
md.maxpaths += 20;
- md.entry_labels = (const char **)
- xrealloc ((void *) md.entry_labels,
- md.maxpaths * sizeof (char *));
+ md.entry_labels = XRESIZEVEC (const char *, md.entry_labels,
+ md.maxpaths);
}
md.entry_labels[md.path++] = S_GET_NAME (sym);
}
@@ -9732,9 +9729,7 @@ add_qp_imply (int p1, int p2)
if (qp_implieslen == qp_impliestotlen)
{
qp_impliestotlen += 20;
- qp_implies = (struct qp_imply *)
- xrealloc ((void *) qp_implies,
- qp_impliestotlen * sizeof (struct qp_imply));
+ qp_implies = XRESIZEVEC (struct qp_imply, qp_implies, qp_impliestotlen);
}
if (md.debug_dv)
fprintf (stderr, " Registering PR%d implies PR%d\n", p1, p2);
@@ -9777,9 +9772,7 @@ add_qp_mutex (valueT mask)
if (qp_mutexeslen == qp_mutexestotlen)
{
qp_mutexestotlen += 20;
- qp_mutexes = (struct qpmutex *)
- xrealloc ((void *) qp_mutexes,
- qp_mutexestotlen * sizeof (struct qpmutex));
+ qp_mutexes = XRESIZEVEC (struct qpmutex, qp_mutexes, qp_mutexestotlen);
}
if (md.debug_dv)
{
@@ -10193,9 +10186,7 @@ mark_resource (struct ia64_opcode *idesc ATTRIBUTE_UNUSED,
if (regdepslen == regdepstotlen)
{
regdepstotlen += 20;
- regdeps = (struct rsrc *)
- xrealloc ((void *) regdeps,
- regdepstotlen * sizeof (struct rsrc));
+ regdeps = XRESIZEVEC (struct rsrc, regdeps, regdepstotlen);
}
regdeps[regdepslen] = *spec;
@@ -11837,7 +11828,7 @@ dot_alias (int section)
goto out;
}
- h = (struct alias *) xmalloc (sizeof (struct alias));
+ h = XNEW (struct alias);
h->file = as_where (&h->line);
h->name = name;
diff --git a/gas/config/tc-m68hc11.c b/gas/config/tc-m68hc11.c
index c61bded..35aa491 100644
--- a/gas/config/tc-m68hc11.c
+++ b/gas/config/tc-m68hc11.c
@@ -613,9 +613,7 @@ md_begin (void)
m68hc11_hash = hash_new ();
/* Get a writable copy of the opcode table and sort it on the names. */
- opcodes = (struct m68hc11_opcode *) xmalloc (m68hc11_num_opcodes *
- sizeof (struct
- m68hc11_opcode));
+ opcodes = XNEWVEC (struct m68hc11_opcode, m68hc11_num_opcodes);
m68hc11_sorted_opcodes = opcodes;
num_opcodes = 0;
for (i = 0; i < m68hc11_num_opcodes; i++)
@@ -644,8 +642,7 @@ md_begin (void)
qsort (opcodes, num_opcodes, sizeof (struct m68hc11_opcode),
(int (*) (const void*, const void*)) cmp_opcode);
- opc = (struct m68hc11_opcode_def *)
- xmalloc (num_opcodes * sizeof (struct m68hc11_opcode_def));
+ opc = XNEWVEC (struct m68hc11_opcode_def, num_opcodes);
m68hc11_opcode_defs = opc--;
/* Insert unique names into hash table. The M6811 instruction set
@@ -3831,8 +3828,8 @@ tc_gen_reloc (asection *section ATTRIBUTE_UNUSED, fixS *fixp)
{
arelent *reloc;
- reloc = (arelent *) xmalloc (sizeof (arelent));
- reloc->sym_ptr_ptr = (asymbol **) xmalloc (sizeof (asymbol *));
+ reloc = XNEW (arelent);
+ reloc->sym_ptr_ptr = XNEW (asymbol *);
*reloc->sym_ptr_ptr = symbol_get_bfdsym (fixp->fx_addsy);
reloc->address = fixp->fx_frag->fr_address + fixp->fx_where;
if (fixp->fx_r_type == 0)
diff --git a/gas/config/tc-m68k.c b/gas/config/tc-m68k.c
index 50e910b..4d2c0e4 100644
--- a/gas/config/tc-m68k.c
+++ b/gas/config/tc-m68k.c
@@ -1334,8 +1334,8 @@ tc_gen_reloc (asection *section ATTRIBUTE_UNUSED, fixS *fixp)
#undef F
#undef MAP
- reloc = (arelent *) xmalloc (sizeof (arelent));
- reloc->sym_ptr_ptr = (asymbol **) xmalloc (sizeof (asymbol *));
+ reloc = XNEW (arelent);
+ reloc->sym_ptr_ptr = XNEW (asymbol *);
*reloc->sym_ptr_ptr = symbol_get_bfdsym (fixp->fx_addsy);
reloc->address = fixp->fx_frag->fr_address + fixp->fx_where;
#ifndef OBJ_ELF
@@ -4786,7 +4786,7 @@ m68k_frob_label (symbolS *sym)
{
struct label_line *n;
- n = (struct label_line *) xmalloc (sizeof *n);
+ n = XNEW (struct label_line);
n->next = labels;
n->label = sym;
n->file = as_where (&n->line);
@@ -6102,7 +6102,7 @@ s_save (int ignore ATTRIBUTE_UNUSED)
{
struct save_opts *s;
- s = (struct save_opts *) xmalloc (sizeof (struct save_opts));
+ s = XNEW (struct save_opts);
s->abspcadd = m68k_abspcadd;
s->symbols_case_sensitive = symbols_case_sensitive;
s->keep_locals = flag_keep_locals;
@@ -6222,7 +6222,7 @@ mri_control_label (void)
{
char *n;
- n = (char *) xmalloc (20);
+ n = XNEWVEC (char, 20);
sprintf (n, "%smc%d", FAKE_LABEL_NAME, mri_control_index);
++mri_control_index;
return n;
@@ -6235,7 +6235,7 @@ push_mri_control (enum mri_control_type type)
{
struct mri_control_info *n;
- n = (struct mri_control_info *) xmalloc (sizeof (struct mri_control_info));
+ n = XNEW (struct mri_control_info);
n->type = type;
n->else_seen = 0;
@@ -6514,9 +6514,9 @@ build_mri_control_operand (int qual, int cc, char *leftstart, char *leftstop,
if (leftstart != NULL)
{
- buf = (char *) xmalloc (20
- + (leftstop - leftstart)
- + (rightstop - rightstart));
+ buf = XNEWVEC (char, (20
+ + (leftstop - leftstart)
+ + (rightstop - rightstart)));
s = buf;
*s++ = 'c';
*s++ = 'm';
@@ -6534,7 +6534,7 @@ build_mri_control_operand (int qual, int cc, char *leftstart, char *leftstop,
free (buf);
}
- buf = (char *) xmalloc (20 + strlen (truelab));
+ buf = XNEWVEC (char, 20 + strlen (truelab));
s = buf;
*s++ = 'b';
*s++ = cc >> 8;
@@ -6783,7 +6783,7 @@ s_mri_else (int qual)
mri_control_stack->else_seen = 1;
- buf = (char *) xmalloc (20 + strlen (mri_control_stack->bottom));
+ buf = XNEWVEC (char, 20 + strlen (mri_control_stack->bottom));
q[0] = TOLOWER (qual);
q[1] = '\0';
sprintf (buf, "bra%s %s", q, mri_control_stack->bottom);
@@ -6854,7 +6854,7 @@ s_mri_break (int extent)
return;
}
- buf = (char *) xmalloc (20 + strlen (n->bottom));
+ buf = XNEWVEC (char, 20 + strlen (n->bottom));
ex[0] = TOLOWER (extent);
ex[1] = '\0';
sprintf (buf, "bra%s %s", ex, n->bottom);
@@ -6892,7 +6892,7 @@ s_mri_next (int extent)
return;
}
- buf = (char *) xmalloc (20 + strlen (n->next));
+ buf = XNEWVEC (char, 20 + strlen (n->next));
ex[0] = TOLOWER (extent);
ex[1] = '\0';
sprintf (buf, "bra%s %s", ex, n->next);
@@ -7066,7 +7066,7 @@ s_mri_for (int qual)
/* We have fully parsed the FOR operands. Now build the loop. */
n = push_mri_control (mri_for);
- buf = (char *) xmalloc (50 + (input_line_pointer - varstart));
+ buf = XNEWVEC (char, 50 + (input_line_pointer - varstart));
/* Move init,var. */
s = buf;
@@ -7300,7 +7300,7 @@ s_mri_endw (int ignore ATTRIBUTE_UNUSED)
return;
}
- buf = (char *) xmalloc (20 + strlen (mri_control_stack->next));
+ buf = XNEWVEC (char, 20 + strlen (mri_control_stack->next));
sprintf (buf, "bra %s", mri_control_stack->next);
mri_assemble (buf);
free (buf);
@@ -7581,7 +7581,7 @@ md_parse_option (int c, const char *arg)
char *n, *t;
const char *s;
- n = (char *) xmalloc (strlen (m68k_comment_chars) + 1);
+ n = XNEWVEC (char, strlen (m68k_comment_chars) + 1);
t = n;
for (s = m68k_comment_chars; *s != '\0'; s++)
if (*s != '|')
diff --git a/gas/config/tc-metag.c b/gas/config/tc-metag.c
index 10ed046..1c45924 100644
--- a/gas/config/tc-metag.c
+++ b/gas/config/tc-metag.c
@@ -6331,7 +6331,7 @@ create_mnemonic_htab (void)
insn_templates **slot = NULL;
insn_templates *new_entry;
- new_entry = xmalloc (sizeof (insn_templates));
+ new_entry = XNEW (insn_templates);
new_entry->template = template;
new_entry->next = NULL;
@@ -7006,8 +7006,8 @@ tc_gen_reloc (asection *seg ATTRIBUTE_UNUSED, fixS *fixp)
{
arelent *reloc;
- reloc = (arelent *) xmalloc (sizeof (arelent));
- reloc->sym_ptr_ptr = (asymbol **) xmalloc (sizeof (asymbol *));
+ reloc = XNEW (arelent);
+ reloc->sym_ptr_ptr = XNEW (asymbol *);
*reloc->sym_ptr_ptr = symbol_get_bfdsym (fixp->fx_addsy);
reloc->address = fixp->fx_frag->fr_address + fixp->fx_where;
diff --git a/gas/config/tc-microblaze.c b/gas/config/tc-microblaze.c
index ceb4365..b4985f0 100644
--- a/gas/config/tc-microblaze.c
+++ b/gas/config/tc-microblaze.c
@@ -2432,8 +2432,8 @@ tc_gen_reloc (asection * section ATTRIBUTE_UNUSED, fixS * fixp)
break;
}
- rel = (arelent *) xmalloc (sizeof (arelent));
- rel->sym_ptr_ptr = (asymbol **) xmalloc (sizeof (asymbol *));
+ rel = XNEW (arelent);
+ rel->sym_ptr_ptr = XNEW (asymbol *);
if (code == BFD_RELOC_MICROBLAZE_32_SYM_OP_SYM)
*rel->sym_ptr_ptr = symbol_get_bfdsym (fixp->fx_subsy);
diff --git a/gas/config/tc-mmix.c b/gas/config/tc-mmix.c
index d3d971d..24362ad7 100644
--- a/gas/config/tc-mmix.c
+++ b/gas/config/tc-mmix.c
@@ -2874,9 +2874,9 @@ tc_gen_reloc (asection *section ATTRIBUTE_UNUSED, fixS *fixP)
return NULL;
}
- relP = (arelent *) xmalloc (sizeof (arelent));
+ relP = XNEW (arelent);
gas_assert (relP != 0);
- relP->sym_ptr_ptr = (asymbol **) xmalloc (sizeof (asymbol *));
+ relP->sym_ptr_ptr = XNEW (asymbol *);
*relP->sym_ptr_ptr = baddsy;
relP->address = fixP->fx_frag->fr_address + fixP->fx_where;
@@ -4089,8 +4089,7 @@ s_loc (int ignore ATTRIBUTE_UNUSED)
if (section == undefined_section)
{
struct loc_assert_s *next = loc_asserts;
- loc_asserts
- = (struct loc_assert_s *) xmalloc (sizeof (*loc_asserts));
+ loc_asserts = XNEW (struct loc_assert_s);
loc_asserts->next = next;
loc_asserts->old_seg = now_seg;
loc_asserts->loc_sym = esym;
diff --git a/gas/config/tc-nds32.c b/gas/config/tc-nds32.c
index 4e65616..888e8aa 100644
--- a/gas/config/tc-nds32.c
+++ b/gas/config/tc-nds32.c
@@ -3709,14 +3709,14 @@ nds32_relax_hint (int mode ATTRIBUTE_UNUSED)
relocs = hash_find (nds32_hint_hash, name);
if (relocs == NULL)
{
- relocs = malloc (sizeof (struct nds32_relocs_pattern));
+ relocs = XNEW (struct nds32_relocs_pattern);
hash_insert (nds32_hint_hash, name, relocs);
}
else
{
while (relocs->next)
relocs=relocs->next;
- relocs->next = malloc (sizeof (struct nds32_relocs_pattern));
+ relocs->next = XNEW (struct nds32_relocs_pattern);
relocs = relocs->next;
}
@@ -3729,7 +3729,7 @@ nds32_relax_hint (int mode ATTRIBUTE_UNUSED)
/* It has to build this list because there are maybe more than one
instructions relative to the same instruction. It to connect to
next instruction after md_assemble. */
- new = malloc (sizeof (struct nds32_relocs_group));
+ new = XNEW (struct nds32_relocs_group);
new->pattern = relocs;
new->next = NULL;
group = nds32_relax_hint_current;
@@ -6602,9 +6602,9 @@ tc_gen_reloc (asection *section ATTRIBUTE_UNUSED, fixS *fixP)
arelent *reloc;
bfd_reloc_code_real_type code;
- reloc = (arelent *) xmalloc (sizeof (arelent));
+ reloc = XNEW (arelent);
- reloc->sym_ptr_ptr = (asymbol **) xmalloc (sizeof (asymbol *));
+ reloc->sym_ptr_ptr = XNEW (asymbol *);
*reloc->sym_ptr_ptr = symbol_get_bfdsym (fixP->fx_addsy);
reloc->address = fixP->fx_frag->fr_address + fixP->fx_where;
diff --git a/gas/config/tc-nios2.c b/gas/config/tc-nios2.c
index a62e3cb..6bcef1e 100644
--- a/gas/config/tc-nios2.c
+++ b/gas/config/tc-nios2.c
@@ -1482,7 +1482,7 @@ static nios2_insn_relocS *
nios2_insn_reloc_new (bfd_reloc_code_real_type reloc_type, unsigned int pcrel)
{
nios2_insn_relocS *retval;
- retval = (nios2_insn_relocS *) malloc (sizeof (nios2_insn_relocS));
+ retval = XNEW (nios2_insn_relocS);
if (retval == NULL)
{
as_bad (_("can't create relocation"));
@@ -3854,8 +3854,8 @@ nios2_frob_symbol (symbolS *symp)
arelent *
tc_gen_reloc (asection *section ATTRIBUTE_UNUSED, fixS *fixp)
{
- arelent *reloc = (arelent *) xmalloc (sizeof (arelent));
- reloc->sym_ptr_ptr = (asymbol **) xmalloc (sizeof (asymbol *));
+ arelent *reloc = XNEW (arelent);
+ reloc->sym_ptr_ptr = XNEW (asymbol *);
*reloc->sym_ptr_ptr = symbol_get_bfdsym (fixp->fx_addsy);
reloc->address = fixp->fx_frag->fr_address + fixp->fx_where;
diff --git a/gas/config/tc-rl78.c b/gas/config/tc-rl78.c
index a695ad6..8ab35ec 100644
--- a/gas/config/tc-rl78.c
+++ b/gas/config/tc-rl78.c
@@ -1271,8 +1271,8 @@ tc_gen_reloc (asection * seg ATTRIBUTE_UNUSED, fixS * fixp)
fixp->fx_subsy = NULL;
}
- reloc[0] = (arelent *) xmalloc (sizeof (arelent));
- reloc[0]->sym_ptr_ptr = (asymbol **) xmalloc (sizeof (asymbol *));
+ reloc[0] = XNEW (arelent);
+ reloc[0]->sym_ptr_ptr = XNEW (asymbol *);
* reloc[0]->sym_ptr_ptr = symbol_get_bfdsym (fixp->fx_addsy);
reloc[0]->address = fixp->fx_frag->fr_address + fixp->fx_where;
reloc[0]->addend = fixp->fx_offset;
@@ -1284,8 +1284,8 @@ tc_gen_reloc (asection * seg ATTRIBUTE_UNUSED, fixS * fixp)
}
#define OPX(REL,SYM,ADD) \
- reloc[rp] = (arelent *) xmalloc (sizeof (arelent)); \
- reloc[rp]->sym_ptr_ptr = (asymbol **) xmalloc (sizeof (asymbol *)); \
+ reloc[rp] = XNEW (arelent); \
+ reloc[rp]->sym_ptr_ptr = XNEW (asymbol *); \
reloc[rp]->howto = bfd_reloc_type_lookup (stdoutput, REL); \
reloc[rp]->addend = ADD; \
* reloc[rp]->sym_ptr_ptr = SYM; \
diff --git a/gas/config/tc-rx.c b/gas/config/tc-rx.c
index 2c7af20..a1590ac 100644
--- a/gas/config/tc-rx.c
+++ b/gas/config/tc-rx.c
@@ -301,7 +301,7 @@ rx_include (int ignore)
}
current_filename = as_where (NULL);
- f = (char *) xmalloc (strlen (current_filename) + strlen (filename) + 1);
+ f = XNEWVEC (char, strlen (current_filename) + strlen (filename) + 1);
/* Check the filename. If [@]..FILE[@] is found then replace
this with the current assembler source filename, stripped
@@ -359,7 +359,7 @@ rx_include (int ignore)
if (env && strlen (env) > len)
len = strlen (env);
- path = (char *) xmalloc (strlen (f) + len + 5);
+ path = XNEWVEC (char, strlen (f) + len + 5);
if (current_filename != NULL)
{
diff --git a/gas/config/tc-sh.c b/gas/config/tc-sh.c
index 3390a40..b15acf8 100644
--- a/gas/config/tc-sh.c
+++ b/gas/config/tc-sh.c
@@ -4424,8 +4424,8 @@ tc_gen_reloc (asection *section ATTRIBUTE_UNUSED, fixS *fixp)
arelent *rel;
bfd_reloc_code_real_type r_type;
- rel = (arelent *) xmalloc (sizeof (arelent));
- rel->sym_ptr_ptr = (asymbol **) xmalloc (sizeof (asymbol *));
+ rel = XNEW (arelent);
+ rel->sym_ptr_ptr = XNEW (asymbol *);
*rel->sym_ptr_ptr = symbol_get_bfdsym (fixp->fx_addsy);
rel->address = fixp->fx_frag->fr_address + fixp->fx_where;
diff --git a/gas/config/tc-sh64.c b/gas/config/tc-sh64.c
index ec08173..294f96b 100644
--- a/gas/config/tc-sh64.c
+++ b/gas/config/tc-sh64.c
@@ -439,7 +439,7 @@ shmedia_frob_section_type (asection *sec)
sec_elf_data = sh64_elf_section_data (sec)->sh64_info;
if (sec_elf_data == NULL)
{
- sec_elf_data = xcalloc (1, sizeof (*sec_elf_data));
+ sec_elf_data = XCNEW (struct sh64_section_data);
sh64_elf_section_data (sec)->sh64_info = sec_elf_data;
}
diff --git a/gas/config/tc-sparc.c b/gas/config/tc-sparc.c
index b956131..1114afa 100644
--- a/gas/config/tc-sparc.c
+++ b/gas/config/tc-sparc.c
@@ -3685,10 +3685,10 @@ tc_gen_reloc (asection *section, fixS *fixp)
arelent *reloc;
bfd_reloc_code_real_type code;
- relocs[0] = reloc = (arelent *) xmalloc (sizeof (arelent));
+ relocs[0] = reloc = XNEW (arelent);
relocs[1] = NULL;
- reloc->sym_ptr_ptr = (asymbol **) xmalloc (sizeof (asymbol *));
+ reloc->sym_ptr_ptr = XNEW (asymbol *);
*reloc->sym_ptr_ptr = symbol_get_bfdsym (fixp->fx_addsy);
reloc->address = fixp->fx_frag->fr_address + fixp->fx_where;
@@ -3893,10 +3893,10 @@ tc_gen_reloc (asection *section, fixS *fixp)
on the same location. */
if (code == BFD_RELOC_SPARC_OLO10)
{
- relocs[1] = reloc = (arelent *) xmalloc (sizeof (arelent));
+ relocs[1] = reloc = XNEW (arelent);
relocs[2] = NULL;
- reloc->sym_ptr_ptr = (asymbol **) xmalloc (sizeof (asymbol *));
+ reloc->sym_ptr_ptr = XNEW (asymbol *);
*reloc->sym_ptr_ptr
= symbol_get_bfdsym (section_symbol (absolute_section));
reloc->address = fixp->fx_frag->fr_address + fixp->fx_where;
diff --git a/gas/config/tc-spu.c b/gas/config/tc-spu.c
index 13e5e2d..c08dcb5 100644
--- a/gas/config/tc-spu.c
+++ b/gas/config/tc-spu.c
@@ -863,8 +863,8 @@ arelent *
tc_gen_reloc (asection *seg ATTRIBUTE_UNUSED, fixS *fixp)
{
arelent *reloc;
- reloc = (arelent *) xmalloc (sizeof (arelent));
- reloc->sym_ptr_ptr = (asymbol **) xmalloc (sizeof (asymbol *));
+ reloc = XNEW (arelent);
+ reloc->sym_ptr_ptr = XNEW (asymbol *);
if (fixp->fx_addsy)
*reloc->sym_ptr_ptr = symbol_get_bfdsym (fixp->fx_addsy);
else if (fixp->fx_subsy)
diff --git a/gas/config/tc-tic6x.c b/gas/config/tc-tic6x.c
index ebeafc3..a35ec2a 100644
--- a/gas/config/tc-tic6x.c
+++ b/gas/config/tc-tic6x.c
@@ -201,7 +201,7 @@ static tic6x_unwind_info *tic6x_get_unwind (void)
if (unwind)
return unwind;
- unwind = (tic6x_unwind_info *)xmalloc (sizeof (tic6x_unwind_info));
+ unwind =XNEW (tic6x_unwind_info);
seg_info (now_seg)->tc_segment_info_data.unwind = unwind;
memset (unwind, 0, sizeof (*unwind));
return unwind;
@@ -4642,7 +4642,7 @@ tic6x_start_unwind_section (const segT text_seg, int idx)
prefix_len = strlen (prefix);
text_len = strlen (text_name);
sec_name_len = prefix_len + text_len;
- sec_name = (char *) xmalloc (sec_name_len + 1);
+ sec_name = XNEWVEC (char, sec_name_len + 1);
memcpy (sec_name, prefix, prefix_len);
memcpy (sec_name + prefix_len, text_name, text_len);
sec_name[prefix_len + text_len] = '\0';
diff --git a/gas/config/tc-tilegx.c b/gas/config/tc-tilegx.c
index bd42939..aca7f56 100644
--- a/gas/config/tc-tilegx.c
+++ b/gas/config/tc-tilegx.c
@@ -1735,8 +1735,8 @@ tc_gen_reloc (asection *sec ATTRIBUTE_UNUSED, fixS *fixp)
{
arelent *reloc;
- reloc = (arelent *) xmalloc (sizeof (arelent));
- reloc->sym_ptr_ptr = (asymbol **) xmalloc (sizeof (asymbol *));
+ reloc = XNEW (arelent);
+ reloc->sym_ptr_ptr = XNEW (asymbol *);
*reloc->sym_ptr_ptr = symbol_get_bfdsym (fixp->fx_addsy);
reloc->address = fixp->fx_frag->fr_address + fixp->fx_where;
diff --git a/gas/config/tc-tilepro.c b/gas/config/tc-tilepro.c
index a11b05f..061a41a 100644
--- a/gas/config/tc-tilepro.c
+++ b/gas/config/tc-tilepro.c
@@ -1515,8 +1515,8 @@ tc_gen_reloc (asection *sec ATTRIBUTE_UNUSED, fixS *fixp)
{
arelent *reloc;
- reloc = (arelent *) xmalloc (sizeof (arelent));
- reloc->sym_ptr_ptr = (asymbol **) xmalloc (sizeof (asymbol *));
+ reloc = XNEW (arelent);
+ reloc->sym_ptr_ptr = XNEW (asymbol *);
*reloc->sym_ptr_ptr = symbol_get_bfdsym (fixp->fx_addsy);
reloc->address = fixp->fx_frag->fr_address + fixp->fx_where;
diff --git a/gas/config/tc-v850.c b/gas/config/tc-v850.c
index 5b425a9..929c87d 100644
--- a/gas/config/tc-v850.c
+++ b/gas/config/tc-v850.c
@@ -3337,8 +3337,8 @@ tc_gen_reloc (asection *seg ATTRIBUTE_UNUSED, fixS *fixp)
{
arelent *reloc;
- reloc = xmalloc (sizeof (arelent));
- reloc->sym_ptr_ptr = xmalloc (sizeof (asymbol *));
+ reloc = XNEW (arelent);
+ reloc->sym_ptr_ptr = XNEW (asymbol *);
*reloc->sym_ptr_ptr = symbol_get_bfdsym (fixp->fx_addsy);
reloc->address = fixp->fx_frag->fr_address + fixp->fx_where;
diff --git a/gas/config/tc-visium.c b/gas/config/tc-visium.c
index c618524..7f00cbf 100644
--- a/gas/config/tc-visium.c
+++ b/gas/config/tc-visium.c
@@ -112,9 +112,9 @@ tc_gen_reloc (asection *section ATTRIBUTE_UNUSED, fixS *fixp)
arelent *reloc;
bfd_reloc_code_real_type code;
- reloc = (arelent *) xmalloc (sizeof (arelent));
+ reloc = XNEW (arelent);
- reloc->sym_ptr_ptr = (asymbol **) xmalloc (sizeof (asymbol *));
+ reloc->sym_ptr_ptr = XNEW (asymbol *);
*reloc->sym_ptr_ptr = symbol_get_bfdsym (fixp->fx_addsy);
reloc->address = fixp->fx_frag->fr_address + fixp->fx_where;
diff --git a/gas/config/tc-xgate.c b/gas/config/tc-xgate.c
index 1d68edc..769d158 100644
--- a/gas/config/tc-xgate.c
+++ b/gas/config/tc-xgate.c
@@ -298,8 +298,7 @@ md_begin (void)
/* Create a local copy of our opcode table
including an extra line for NULL termination. */
- xgate_op_table = (struct xgate_opcode *)
- xmalloc ((xgate_num_opcodes) * sizeof (struct xgate_opcode));
+ xgate_op_table = XNEWVEC (struct xgate_opcode, xgate_num_opcodes);
memset (xgate_op_table, 0,
sizeof(struct xgate_opcode) * (xgate_num_opcodes));
@@ -322,8 +321,7 @@ md_begin (void)
prev_op_name = xgate_opcode_ptr->name;
}
- op_handles = (struct xgate_opcode_handle *)
- xmalloc (sizeof(struct xgate_opcode_handle) * (number_of_op_handles));
+ op_handles = XNEWVEC (struct xgate_opcode_handle, number_of_op_handles);
/* Insert unique opcode names into hash table, aliasing duplicates. */
xgate_hash = hash_new ();
@@ -616,8 +614,8 @@ tc_gen_reloc (asection * section ATTRIBUTE_UNUSED, fixS * fixp)
{
arelent * reloc;
- reloc = (arelent *) xmalloc (sizeof(arelent));
- reloc->sym_ptr_ptr = (asymbol **) xmalloc (sizeof(asymbol *));
+ reloc = XNEW (arelent);
+ reloc->sym_ptr_ptr = XNEW (asymbol *);
*reloc->sym_ptr_ptr = symbol_get_bfdsym (fixp->fx_addsy);
reloc->address = fixp->fx_frag->fr_address + fixp->fx_where;
diff --git a/gas/config/tc-xtensa.c b/gas/config/tc-xtensa.c
index 4aa421b..94411c3 100644
--- a/gas/config/tc-xtensa.c
+++ b/gas/config/tc-xtensa.c
@@ -2424,7 +2424,7 @@ xtensa_translate_old_userreg_ops (char **popname)
/* Translate the opcode. */
sr_name = xtensa_sysreg_name (isa, sr);
- new_opname = (char *) xmalloc (strlen (sr_name) + 6);
+ new_opname = XNEWVEC (char, strlen (sr_name) + 6);
sprintf (new_opname, "%s%cur.%s", (has_underbar ? "_" : ""),
opname[0], sr_name);
free (*popname);
@@ -6147,9 +6147,9 @@ new_resource_table (void *data,
rt->opcode_unit_use = ouuf;
rt->opcode_unit_stage = ousf;
- rt->units = (unsigned char **) xcalloc (cycles, sizeof (unsigned char *));
+ rt->units = XCNEWVEC (unsigned char *, cycles);
for (i = 0; i < cycles; i++)
- rt->units[i] = (unsigned char *) xcalloc (nu, sizeof (unsigned char));
+ rt->units[i] = XCNEWVEC (unsigned char, nu);
return rt;
}
@@ -6183,7 +6183,7 @@ resize_resource_table (resource_table *rt, int cycles)
for (i = 0; i < old_cycles; i++)
rt->units[i] = XRESIZEVEC (unsigned char, rt->units[i], rt->num_units);
for (i = old_cycles; i < cycles; i++)
- rt->units[i] = xcalloc (rt->num_units, sizeof (unsigned char));
+ rt->units[i] = XCNEWVEC (unsigned char, rt->num_units);
}
@@ -7434,7 +7434,7 @@ xtensa_create_trampoline_frag (bfd_boolean needs_jump_around)
if (ts == NULL)
{
- ts = (struct trampoline_seg *)xcalloc(sizeof (struct trampoline_seg), 1);
+ ts = XCNEW(struct trampoline_seg);
ts->next = trampoline_seg_list.next;
trampoline_seg_list.next = ts;
ts->seg = now_seg;
@@ -7549,7 +7549,7 @@ xtensa_maybe_create_literal_pool_frag (bfd_boolean create,
if (lps == NULL)
{
- lps = (struct litpool_seg *)xcalloc (sizeof (struct litpool_seg), 1);
+ lps = XCNEW (struct litpool_seg);
lps->next = litpool_seg_list.next;
litpool_seg_list.next = lps;
lps->seg = now_seg;
@@ -11564,7 +11564,7 @@ cache_literal_section (bfd_boolean use_abs_literals)
|| strncmp (text_name, ".text", 5) == 0))
len -= 5;
- name = xmalloc (len + strlen (base_name) + 1);
+ name = XNEWVEC (char, len + strlen (base_name) + 1);
if (strncmp (text_name, ".text", 5) == 0)
{
strcpy (name, base_name);
diff --git a/gas/config/xtensa-relax.c b/gas/config/xtensa-relax.c
index 9b4994a..ffec5ed 100644
--- a/gas/config/xtensa-relax.c
+++ b/gas/config/xtensa-relax.c
@@ -522,7 +522,7 @@ append_transition (TransitionTable *tt,
TransitionRule *t,
transition_cmp_fn cmp)
{
- TransitionList *tl = (TransitionList *) xmalloc (sizeof (TransitionList));
+ TransitionList *tl = XNEW (TransitionList);
TransitionList *prev;
TransitionList **t_p;
gas_assert (tt != NULL);
@@ -554,8 +554,7 @@ append_transition (TransitionTable *tt,
static void
append_condition (TransitionRule *tr, Precondition *cond)
{
- PreconditionList *pl =
- (PreconditionList *) xmalloc (sizeof (PreconditionList));
+ PreconditionList *pl = XNEW (PreconditionList);
PreconditionList *prev = tr->conditions;
PreconditionList *nxt;
@@ -582,7 +581,7 @@ append_value_condition (TransitionRule *tr,
unsigned op1,
unsigned op2)
{
- Precondition *cond = (Precondition *) xmalloc (sizeof (Precondition));
+ Precondition *cond = XNEW (Precondition);
cond->cmp = cmp;
cond->op_num = op1;
@@ -598,7 +597,7 @@ append_constant_value_condition (TransitionRule *tr,
unsigned op1,
unsigned cnst)
{
- Precondition *cond = (Precondition *) xmalloc (sizeof (Precondition));
+ Precondition *cond = XNEW (Precondition);
cond->cmp = cmp;
cond->op_num = op1;
@@ -654,7 +653,7 @@ append_op (BuildInstr *bi, BuildOp *b_op)
static void
append_literal_op (BuildInstr *bi, unsigned op1, unsigned src_op)
{
- BuildOp *b_op = (BuildOp *) xmalloc (sizeof (BuildOp));
+ BuildOp *b_op = XNEW (BuildOp);
b_op->op_num = op1;
b_op->typ = OP_LITERAL;
@@ -667,7 +666,7 @@ append_literal_op (BuildInstr *bi, unsigned op1, unsigned src_op)
static void
append_label_op (BuildInstr *bi, unsigned op1)
{
- BuildOp *b_op = (BuildOp *) xmalloc (sizeof (BuildOp));
+ BuildOp *b_op = XNEW (BuildOp);
b_op->op_num = op1;
b_op->typ = OP_LABEL;
@@ -680,7 +679,7 @@ append_label_op (BuildInstr *bi, unsigned op1)
static void
append_constant_op (BuildInstr *bi, unsigned op1, unsigned cnst)
{
- BuildOp *b_op = (BuildOp *) xmalloc (sizeof (BuildOp));
+ BuildOp *b_op = XNEW (BuildOp);
b_op->op_num = op1;
b_op->typ = OP_CONSTANT;
@@ -693,7 +692,7 @@ append_constant_op (BuildInstr *bi, unsigned op1, unsigned cnst)
static void
append_field_op (BuildInstr *bi, unsigned op1, unsigned src_op)
{
- BuildOp *b_op = (BuildOp *) xmalloc (sizeof (BuildOp));
+ BuildOp *b_op = XNEW (BuildOp);
b_op->op_num = op1;
b_op->typ = OP_OPERAND;
@@ -711,7 +710,7 @@ append_user_fn_field_op (BuildInstr *bi,
OpType typ,
unsigned src_op)
{
- BuildOp *b_op = (BuildOp *) xmalloc (sizeof (BuildOp));
+ BuildOp *b_op = XNEW (BuildOp);
b_op->op_num = op1;
b_op->typ = typ;
@@ -819,7 +818,7 @@ enter_opname_n (const char *name, int len)
&& strncmp (op->opname, name, len) == 0)
return op->opname;
}
- op = (opname_e *) xmalloc (sizeof (opname_e));
+ op = XNEW (opname_e);
op->opname = xmemdup0 (name, len);
return op->opname;
}
@@ -835,7 +834,7 @@ enter_opname (const char *name)
if (strcmp (op->opname, name) == 0)
return op->opname;
}
- op = (opname_e *) xmalloc (sizeof (opname_e));
+ op = XNEW (opname_e);
op->opname = xstrdup (name);
return op->opname;
}
@@ -1105,7 +1104,7 @@ split_string (split_rec *rec,
if (rec->count == 0)
return;
- rec->vec = (char **) xmalloc (sizeof (char *) * cnt);
+ rec->vec = XNEWVEC (char *, cnt);
for (i = 0; i < cnt; i++)
rec->vec[i] = 0;
@@ -1189,7 +1188,7 @@ parse_insn_templ (const char *s, insn_templ *t)
for (i = 0; i < oprec.count; i++)
{
const char *opname = oprec.vec[i];
- opname_map_e *e = (opname_map_e *) xmalloc (sizeof (opname_map_e));
+ opname_map_e *e = XNEW (opname_map_e);
e->next = NULL;
e->operand_name = NULL;
e->constant_value = 0;
@@ -1307,7 +1306,7 @@ clone_req_or_option_list (ReqOrOption *req_or_option)
if (req_or_option == NULL)
return NULL;
- new_req_or_option = (ReqOrOption *) xmalloc (sizeof (ReqOrOption));
+ new_req_or_option = XNEW (ReqOrOption);
new_req_or_option->option_name = xstrdup (req_or_option->option_name);
new_req_or_option->is_true = req_or_option->is_true;
new_req_or_option->next = NULL;
@@ -1324,7 +1323,7 @@ clone_req_option_list (ReqOption *req_option)
if (req_option == NULL)
return NULL;
- new_req_option = (ReqOption *) xmalloc (sizeof (ReqOption));
+ new_req_option = XNEW (ReqOption);
new_req_option->or_option_terms = NULL;
new_req_option->next = NULL;
new_req_option->or_option_terms =
@@ -1368,7 +1367,7 @@ parse_option_cond (const char *s, ReqOption *option)
else
option_name = xstrdup (option_name);
- req = (ReqOrOption *) xmalloc (sizeof (ReqOrOption));
+ req = XNEW (ReqOrOption);
req->option_name = option_name;
req->is_true = is_true;
req->next = NULL;
@@ -1436,7 +1435,7 @@ parse_insn_pattern (const char *in, insn_pattern *insn)
for (i = 1; i < rec.count; i++)
{
- precond_e *cond = (precond_e *) xmalloc (sizeof (precond_e));
+ precond_e *cond = XNEW (precond_e);
if (!parse_precond (rec.vec[i], cond))
{
@@ -1455,7 +1454,7 @@ parse_insn_pattern (const char *in, insn_pattern *insn)
{
/* Handle the option conditions. */
ReqOption **r_p;
- ReqOption *req_option = (ReqOption *) xmalloc (sizeof (ReqOption));
+ ReqOption *req_option = XNEW (ReqOption);
req_option->or_option_terms = NULL;
req_option->next = NULL;
@@ -1492,7 +1491,7 @@ parse_insn_repl (const char *in, insn_repl *r_p)
for (i = 0; i < rec.count; i++)
{
- insn_repl_e *e = (insn_repl_e *) xmalloc (sizeof (insn_repl_e));
+ insn_repl_e *e = XNEW (insn_repl_e);
e->next = NULL;
@@ -1628,7 +1627,7 @@ build_transition (insn_pattern *initial_insn,
return NULL;
}
- tr = (TransitionRule *) xmalloc (sizeof (TransitionRule));
+ tr = XNEW (TransitionRule);
tr->opcode = opcode;
tr->conditions = NULL;
tr->to_instr = NULL;
@@ -1723,7 +1722,7 @@ build_transition (insn_pattern *initial_insn,
const char *fn_name;
const char *operand_arg_name;
- bi = (BuildInstr *) xmalloc (sizeof (BuildInstr));
+ bi = XNEW (BuildInstr);
append_build_insn (tr, bi);
bi->opcode = XTENSA_UNDEFINED;
@@ -1853,10 +1852,9 @@ build_transition_table (const string_pattern_pair *transitions,
return table;
/* Otherwise, build it now. */
- table = (TransitionTable *) xmalloc (sizeof (TransitionTable));
+ table = XNEW (TransitionTable);
table->num_opcodes = num_opcodes;
- table->table =
- (TransitionList **) xmalloc (sizeof (TransitionTable *) * num_opcodes);
+ table->table = XNEWVEC (TransitionList *, num_opcodes);
for (i = 0; i < num_opcodes; i++)
table->table[i] = NULL;