1
0
mirror of https://github.com/simh/simh.git synced 2026-01-27 04:22:24 +00:00

ALL: Massive 'const' cleanup

These changes facilitate more robust parameter type checking and helps
to identify unexpected coding errors.

Most simulators can now also be compiled with a C++ compiler without
warnings.

Additionally, these changes have also been configured to facilitate easier
backporting of simulator and device simulation modules to run under the
simh v3.9+ SCP framework.
This commit is contained in:
Mark Pizzolato
2016-05-15 15:25:33 -07:00
parent 60a8a2d43d
commit 5531ccb175
444 changed files with 4119 additions and 3798 deletions

View File

@@ -52,8 +52,8 @@ t_stat cpu_ex (t_value *vptr, t_addr addr, UNIT *uptr, int32 sw);
t_stat cpu_dep (t_value val, t_addr addr, UNIT *uptr, int32 sw);
t_stat cpu_boot(int32 unitnum, DEVICE *dptr);
t_stat cpu_reset (DEVICE *dptr);
t_stat cpu_set_size (UNIT *uptr, int32 val, char *cptr, void *desc);
t_stat cpu_show_size (FILE *st, UNIT *uptr, int32 val, void *desc);
t_stat cpu_set_size (UNIT *uptr, int32 val, CONST char *cptr, void *desc);
t_stat cpu_show_size (FILE *st, UNIT *uptr, int32 val, const void *desc);
/* some forwards */
static t_stat Raise(uint16 err);
@@ -68,8 +68,8 @@ static t_stat DoSIGNAL(uint16 sem);
static uint16 Get(t_addr addr);
static void Put(t_addr addr, uint16 val);
static uint16 GetSIB(uint8 segno);
static t_stat cpu_set_flag(UNIT *uptr, int32 value, char *cptr, void *desc);
static t_stat cpu_set_noflag(UNIT *uptr, int32 value, char *cptr, void *desc);
static t_stat cpu_set_flag(UNIT *uptr, int32 value, CONST char *cptr, void *desc);
static t_stat cpu_set_noflag(UNIT *uptr, int32 value, CONST char *cptr, void *desc);
static t_stat ssr_read(t_addr ioaddr, uint16 *data);
static t_stat ssr_write(t_addr ioaddr, uint16 data);
@@ -1600,12 +1600,12 @@ t_stat sim_instr(void)
return rc;
}
static t_stat cpu_set_flag(UNIT *uptr, int32 value, char *cptr, void *desc) {
static t_stat cpu_set_flag(UNIT *uptr, int32 value, CONST char *cptr, void *desc) {
uptr->flags |= value;
return SCPE_OK;
}
static t_stat cpu_set_noflag(UNIT *uptr, int32 value, char *cptr, void *desc) {
static t_stat cpu_set_noflag(UNIT *uptr, int32 value, CONST char *cptr, void *desc) {
uptr->flags &= ~value;
return SCPE_OK;
}

View File

@@ -291,7 +291,7 @@
#define OP_AB 13
typedef struct _optable {
char* name;
const char* name;
int16 flags;
} OPTABLE;
extern OPTABLE optable[];
@@ -367,7 +367,7 @@ extern t_stat con_binit();
extern t_stat fdc_boot(int32 unitnum, DEVICE *dptr);
extern t_stat fdc_read(t_addr ioaddr, uint16 *data);
extern t_stat fdc_write(t_addr ioaddr, uint16 data);
extern t_stat fdc_autoload();
extern t_stat fdc_autoload(int unitnum);
extern t_stat fdc_binit();
extern t_stat tim_read(t_addr ioaddr, uint16 *data);
extern t_stat tim_write(t_addr ioaddr, uint16 data);
@@ -399,11 +399,11 @@ typedef struct _devctxt {
extern t_stat pdq3_ioinit();
extern t_stat add_ioh(IOINFO* ioi);
extern t_stat del_ioh(IOINFO* ioi);
extern t_stat set_iobase(UNIT *uptr, int32 val, char *cptr, void *desc);
extern t_stat show_iobase(FILE *st, UNIT *uptr, int32 val, void *desc);
extern t_stat set_iovec(UNIT *uptr, int32 val, char *cptr, void *desc);
extern t_stat show_iovec(FILE *st, UNIT *uptr, int value, void *desc);
extern t_stat set_ioprio(UNIT *uptr, int32 val, char *cptr, void *desc);
extern t_stat show_ioprio(FILE *st, UNIT *uptr, int value, void *desc);
extern t_stat set_iobase(UNIT *uptr, int32 val, CONST char *cptr, void *desc);
extern t_stat show_iobase(FILE *st, UNIT *uptr, int32 val, CONST void *desc);
extern t_stat set_iovec(UNIT *uptr, int32 val, CONST char *cptr, void *desc);
extern t_stat show_iovec(FILE *st, UNIT *uptr, int value, CONST void *desc);
extern t_stat set_ioprio(UNIT *uptr, int32 val, CONST char *cptr, void *desc);
extern t_stat show_ioprio(FILE *st, UNIT *uptr, int value, CONST void *desc);
#endif

View File

@@ -162,9 +162,9 @@ extern UNIT cpu_unit;
/* forwards */
t_stat fdc_svc (UNIT *uptr);
t_stat fdc_reset (DEVICE *uptr);
t_stat fdc_attach(UNIT *uptr, char *cptr);
t_stat fdc_attach(UNIT *uptr, CONST char *cptr);
t_stat fdc_detach(UNIT *uptr);
t_stat pdq3_diskCreate(FILE *fileref, char *ctlr_comment);
t_stat pdq3_diskCreate(FILE *fileref, const char *ctlr_comment);
t_stat pdq3_diskFormat(DISK_INFO *myDisk);
static void dma_reqinterrupt();
@@ -271,7 +271,7 @@ t_stat fdc_boot(int32 unitnum, DEVICE *dptr) {
return fdc_autoload(unitnum);
}
t_stat fdc_attach(UNIT *uptr, char *cptr) {
t_stat fdc_attach(UNIT *uptr, CONST char *cptr) {
t_stat rc;
int i = uptr->u_unitno;
char header[4];
@@ -811,7 +811,7 @@ static DRVDATA *fdc_select() {
return curdrv;
}
static char *cmdlist[] = {
static const char *cmdlist[] = {
"Restore","Seek","Step","Step+Upd","StepIn","StepIn+Upd",
"StepOut","StepOut+Upd","Read","Read+Multi","Write","WriteMulti",
"ReadAddr","ForceInt","ReadTrack","WriteTrack"
@@ -1076,7 +1076,7 @@ t_stat fdc_read(t_addr ioaddr, uint16 *data) {
*
* If the IMD file already exists, the user will be given the option of overwriting it.
*/
t_stat pdq3_diskCreate(FILE *fileref, char *ctlr_comment) {
t_stat pdq3_diskCreate(FILE *fileref, const char *ctlr_comment) {
DISK_INFO *myDisk = NULL;
char *comment;
char *curptr;
@@ -1096,7 +1096,7 @@ t_stat pdq3_diskCreate(FILE *fileref, char *ctlr_comment) {
}
}
if((curptr = comment = calloc(1, MAX_COMMENT_LEN)) == 0) {
if((curptr = comment = (char *)calloc(1, MAX_COMMENT_LEN)) == 0) {
sim_printf("PDQ3_IMD: Memory allocation failure.\n");
return (SCPE_MEM);
}

View File

@@ -87,7 +87,7 @@ t_stat del_ioh(IOINFO* ioi) {
/******************************************************************************
* configuration
*****************************************************************************/
t_stat show_iobase(FILE *st, UNIT *uptr, int32 val, void *desc) {
t_stat show_iobase(FILE *st, UNIT *uptr, int32 val, CONST void *desc) {
DEVICE* dptr;
DEVCTXT* ctxt;
IOINFO* ioi;
@@ -108,7 +108,7 @@ t_stat show_iobase(FILE *st, UNIT *uptr, int32 val, void *desc) {
return SCPE_OK;
}
t_stat set_iobase(UNIT *uptr, int32 val, char *cptr, void *desc) {
t_stat set_iobase(UNIT *uptr, int32 val, CONST char *cptr, void *desc) {
t_stat rc;
DEVICE* dptr;
DEVCTXT* ctxt;
@@ -124,7 +124,7 @@ t_stat set_iobase(UNIT *uptr, int32 val, char *cptr, void *desc) {
return rc;
}
t_stat set_iovec(UNIT *uptr, int32 val, char *cptr, void *desc) {
t_stat set_iovec(UNIT *uptr, int32 val, CONST char *cptr, void *desc) {
t_stat rc;
DEVICE* dptr;
DEVCTXT* ctxt;
@@ -140,7 +140,7 @@ t_stat set_iovec(UNIT *uptr, int32 val, char *cptr, void *desc) {
return rc;
}
t_stat show_iovec(FILE *st, UNIT *uptr, int value, void *desc) {
t_stat show_iovec(FILE *st, UNIT *uptr, int value, CONST void *desc) {
DEVICE* dptr;
DEVCTXT* ctxt;
IOINFO* ioi;
@@ -159,7 +159,7 @@ t_stat show_iovec(FILE *st, UNIT *uptr, int value, void *desc) {
return SCPE_OK;
}
t_stat set_ioprio(UNIT *uptr, int32 val, char *cptr, void *desc) {
t_stat set_ioprio(UNIT *uptr, int32 val, CONST char *cptr, void *desc) {
t_stat rc;
DEVICE* dptr;
DEVCTXT* ctxt;
@@ -175,7 +175,7 @@ t_stat set_ioprio(UNIT *uptr, int32 val, char *cptr, void *desc) {
return rc;
}
t_stat show_ioprio(FILE *st, UNIT *uptr, int value, void *desc) {
t_stat show_ioprio(FILE *st, UNIT *uptr, int value, CONST void *desc) {
DEVICE* dptr;
DEVCTXT* ctxt;
IOINFO* ioi;
@@ -316,7 +316,7 @@ t_stat WriteB(t_addr base, t_addr boffset, uint16 data, uint32 dctrl)
return Write(ea, 0, wdata, 0);
}
t_stat cpu_set_size (UNIT *uptr, int32 val, char *cptr, void *desc)
t_stat cpu_set_size (UNIT *uptr, int32 val, CONST char *cptr, void *desc)
{
int32 mc;
t_addr i;

View File

@@ -35,12 +35,12 @@
t_stat parse_sym_m (char *cptr, t_value *val, int32 sw);
void pdq3_vm_init (void);
static t_stat pdq3_cmd_exstack(int32 arg, char *buf);
static t_stat pdq3_cmd_exmscw(int32 arg, char *buf);
static t_stat pdq3_cmd_extib(int32 arg, char *buf);
static t_stat pdq3_cmd_exseg(int32 arg, char *buf);
static t_stat pdq3_cmd_calltree(int32 arg, char *buf);
static t_stat pdq3_cmd_namealias(int32 arg, char *buf);
static t_stat pdq3_cmd_exstack(int32 arg, CONST char *buf);
static t_stat pdq3_cmd_exmscw(int32 arg, CONST char *buf);
static t_stat pdq3_cmd_extib(int32 arg, CONST char *buf);
static t_stat pdq3_cmd_exseg(int32 arg, CONST char *buf);
static t_stat pdq3_cmd_calltree(int32 arg, CONST char *buf);
static t_stat pdq3_cmd_namealias(int32 arg, CONST char *buf);
extern DEVICE cpu_dev;
extern UNIT cpu_unit;
@@ -94,10 +94,10 @@ CTAB pdq3_cmds[] = {
{ NULL, NULL, 0, NULL }
};
void (*sim_vm_init)(void) = &pdq3_vm_init;
WEAK void (*sim_vm_init)(void) = &pdq3_vm_init;
/* Loader proper */
t_stat sim_load (FILE *fi, char *cptr, char *fnam, int flag)
t_stat sim_load (FILE *fi, CONST char *cptr, CONST char *fnam, int flag)
{
int rombase;
int c1, c2, i;
@@ -155,7 +155,7 @@ void pdq3_fprint_addr (FILE *st, DEVICE *dptr, t_addr addr)
return;
}
t_addr pdq3_parse_addr (DEVICE *dptr, const char *cptr, const char **tptr)
t_addr pdq3_parse_addr (DEVICE *dptr, CONST char *cptr, CONST char **tptr)
{
t_addr seg, off;
if (cptr[0] == '#') {
@@ -188,7 +188,7 @@ void pdq3_vm_init (void)
return;
}
static t_stat pdq3_cmd_exstack(int32 arg, char *buf)
static t_stat pdq3_cmd_exstack(int32 arg, CONST char *buf)
{
t_stat rc;
uint16 data;
@@ -205,24 +205,24 @@ static t_stat pdq3_cmd_exstack(int32 arg, char *buf)
return SCPE_OK;
}
static t_stat pdq3_cmd_exmscw(int32 arg, char *buf)
static t_stat pdq3_cmd_exmscw(int32 arg, CONST char *buf)
{
const char* next;
CONST char* next;
return dbg_dump_mscw(stdout, buf[0] ? pdq3_parse_addr(&cpu_dev, buf, &next) : reg_mp);
}
static t_stat pdq3_cmd_extib(int32 arg, char *buf)
static t_stat pdq3_cmd_extib(int32 arg, CONST char *buf)
{
const char* next;
CONST char* next;
return dbg_dump_tib(stdout, buf[0] ? pdq3_parse_addr(&cpu_dev, buf, &next) : reg_ctp);
}
static t_stat pdq3_cmd_exseg(int32 arg, char *buf)
static t_stat pdq3_cmd_exseg(int32 arg, CONST char *buf)
{
t_stat rc;
uint16 nsegs;
uint16 segnum, segptr;
const char* next;
CONST char* next;
FILE* fd = stdout; /* XXX */
if (reg_ssv < 0x2030 || reg_ssv > 0xf000) {
@@ -246,17 +246,19 @@ static t_stat pdq3_cmd_exseg(int32 arg, char *buf)
return rc;
}
static t_stat pdq3_cmd_calltree(int32 arg, char *buf) {
static t_stat pdq3_cmd_calltree(int32 arg, CONST char *buf) {
return dbg_calltree(stdout);
}
static t_stat pdq3_cmd_namealias(int32 arg, char *buf) {
char* name, *alias;
static t_stat pdq3_cmd_namealias(int32 arg, CONST char *buf) {
char* name, *alias, gbuf[2*CBUFSIZE];
if (buf[0]==0)
return dbg_listalias(stdout);
name = strtok(buf, " \t");
gbuf[sizeof(gbuf)-1] = '\0';
strncpy (gbuf, buf, sizeof(gbuf)-1);
name = strtok(gbuf, " \t");
alias = strtok(NULL, " \t\n");
return dbg_enteralias(name,alias);
}
@@ -616,7 +618,7 @@ t_stat fprint_sym (FILE *of, t_addr addr, t_value *val,
Outputs:
status = error status
*/
t_stat parse_sym (char *cptr, t_addr addr, UNIT *uptr, t_value *val, int32 sw)
t_stat parse_sym (CONST char *cptr, t_addr addr, UNIT *uptr, t_value *val, int32 sw)
{
return SCPE_ARG;
}