some fixes:

- use Malloc, Realloc instead of malloc, realloc
- generate common for un-initialized bss
- removed null-reference
This commit is contained in:
ceriel 1988-10-20 12:55:02 +00:00
parent 0ba4588be1
commit ed651bbd04
3 changed files with 5 additions and 7 deletions

View file

@ -1,6 +1,5 @@
#include "decl.h"
#include <alloc.h>
extern char *malloc(), *realloc(), *Salloc();
/* This file contains some routines needed in "pars.g" to handle the action-
* grammarrule. The assembler-instructions are handeld in blocks rather than
@ -24,7 +23,7 @@ init_as_block()
if ( quantum == 0) {
quantum = 16;
as_instructions = (char **)malloc( quantum*sizeof( char *));
as_instructions = (char **)Malloc( quantum*sizeof( char *));
}
}
@ -37,7 +36,7 @@ char *instr;
{
if ( nr_instr == quantum) {
quantum *= 2;
as_instructions = (char **) realloc( as_instructions,
as_instructions = (char **) Realloc( as_instructions,
quantum*sizeof( char *));
}

View file

@ -196,7 +196,7 @@ handle_defaults()
* ponding C_con_xxx C_rom_xxx instruction
* so set correct info.
*/
set_C_instr_info( def_info[i-2].name);
set_C_instr_info( def_info[(i>>2)<<2].name);
def_row();
out( "}\n\n");
}
@ -244,8 +244,7 @@ extnd_header()
*/
{
out( "if ( %s == 0 ) {\n", C_instr_info->arg_id[3]);
set_segment( SEGBSS);
out( "bss( %s);\n", C_instr_info->arg_id[0]);
out( "common( %s);\n", C_instr_info->arg_id[0]);
out( "}\nelse {\n");
set_segment( SEGCON);
out( "for ( %s = 0; %s < %s/EM_WSIZE; %s++)\n",

View file

@ -169,7 +169,7 @@ c_row : %if ( to_change && strcmp( yytext, to_change) == 0)
| C_INSTR
[ c_special | c_simple]
| %if ( strcmp( yytext, to_change) == 0)
| %if ( to_change && strcmp( yytext, to_change) == 0)
DEF_C_INSTR { init_defaults( yytext);}
[ Dspecial | Dsimple] { handle_defaults();}