1
0
mirror of https://github.com/simh/simh.git synced 2026-01-25 11:46:37 +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

@@ -340,10 +340,10 @@ InstHistory *hst = NULL; /* inst history */
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_reset (DEVICE *dptr);
t_stat cpu_set_size (UNIT *uptr, int32 val, char *cptr, void *desc);
t_stat cpu_set_hist (UNIT *uptr, int32 val, char *cptr, void *desc);
t_stat cpu_set_1d (UNIT *uptr, int32 val, char *cptr, void *desc);
t_stat cpu_show_hist (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_set_hist (UNIT *uptr, int32 val, CONST char *cptr, void *desc);
t_stat cpu_set_1d (UNIT *uptr, int32 val, CONST char *cptr, void *desc);
t_stat cpu_show_hist (FILE *st, UNIT *uptr, int32 val, CONST void *desc);
t_stat Ea (int32 IR);
t_stat Ea_ch (int32 IR, int32 *byte_num);
int32 inc_bp (int32 bp);
@@ -1523,7 +1523,7 @@ return SCPE_OK;
/* Device set/show SBS level */
t_stat dev_set_sbs (UNIT *uptr, int32 val, char *cptr, void *desc)
t_stat dev_set_sbs (UNIT *uptr, int32 val, CONST char *cptr, void *desc)
{
int32 *lvl = (int32 *) desc;
int32 newlvl;
@@ -1538,9 +1538,9 @@ if (r != SCPE_OK)
return SCPE_OK;
}
t_stat dev_show_sbs (FILE *st, UNIT *uptr, int32 val, void *desc)
t_stat dev_show_sbs (FILE *st, UNIT *uptr, int32 val, CONST void *desc)
{
int32 *lvl = (int32 *) desc;
const int32 *lvl = (const int32 *) desc;
if (lvl == NULL)
return SCPE_IERR;
@@ -1602,7 +1602,7 @@ return SCPE_OK;
/* Change memory size */
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 = 0;
uint32 i;
@@ -1621,7 +1621,7 @@ return SCPE_OK;
/* Set PDP-1D */
t_stat cpu_set_1d (UNIT *uptr, int32 val, char *cptr, void *desc)
t_stat cpu_set_1d (UNIT *uptr, int32 val, CONST char *cptr, void *desc)
{
uptr->flags |= UNIT_SBS|UNIT_MDV;
return SCPE_OK;
@@ -1629,7 +1629,7 @@ return SCPE_OK;
/* Set history */
t_stat cpu_set_hist (UNIT *uptr, int32 val, char *cptr, void *desc)
t_stat cpu_set_hist (UNIT *uptr, int32 val, CONST char *cptr, void *desc)
{
int32 i, lnt;
t_stat r;
@@ -1660,10 +1660,10 @@ return SCPE_OK;
/* Show history */
t_stat cpu_show_hist (FILE *st, UNIT *uptr, int32 val, void *desc)
t_stat cpu_show_hist (FILE *st, UNIT *uptr, int32 val, CONST void *desc)
{
int32 ov, pf, op, k, di, lnt;
char *cptr = (char *) desc;
const char *cptr = (const char *) desc;
t_stat r;
t_value sim_eval;
InstHistory *h;

View File

@@ -55,9 +55,9 @@ TMXR dcs_desc = { DCS_LINES, 0, 0, dcs_ldsc }; /* mux descriptor */
t_stat dcsi_svc (UNIT *uptr);
t_stat dcso_svc (UNIT *uptr);
t_stat dcs_reset (DEVICE *dptr);
t_stat dcs_attach (UNIT *uptr, char *cptr);
t_stat dcs_attach (UNIT *uptr, CONST char *cptr);
t_stat dcs_detach (UNIT *uptr);
t_stat dcs_vlines (UNIT *uptr, int32 val, char *cptr, void *desc);
t_stat dcs_vlines (UNIT *uptr, int32 val, CONST char *cptr, void *desc);
void dcs_reset_ln (int32 ln);
void dcs_scan_next (t_bool unlk);
@@ -341,7 +341,7 @@ return SCPE_OK;
/* Attach master unit */
t_stat dcs_attach (UNIT *uptr, char *cptr)
t_stat dcs_attach (UNIT *uptr, CONST char *cptr)
{
t_stat r;
@@ -368,7 +368,7 @@ return r;
/* Change number of lines */
t_stat dcs_vlines (UNIT *uptr, int32 val, char *cptr, void *desc)
t_stat dcs_vlines (UNIT *uptr, int32 val, CONST char *cptr, void *desc)
{
int32 newln, i, t;
t_stat r;

View File

@@ -197,7 +197,8 @@
/* Device routines */
t_stat dev_req_int (int32 lvl);
t_stat dev_set_sbs (UNIT *uptr, int32 val, char *cptr, void *desc);
t_stat dev_show_sbs (FILE *st, UNIT *uptr, int32 val, void *desc);
t_stat dev_set_sbs (UNIT *uptr, int32 val, CONST char *cptr, void *desc);
t_stat dev_show_sbs (FILE *st, UNIT *uptr, int32 val, CONST void *desc);
extern const int32 sc_map[512];
#endif

View File

@@ -327,7 +327,7 @@ return SCPE_OK;
t_stat drp_svc (UNIT *uptr)
{
uint32 i, lim;
uint32 *fbuf = uptr->filebuf;
uint32 *fbuf = (uint32 *)uptr->filebuf;
if ((uptr->flags & UNIT_BUF) == 0) { /* not buf? abort */
drp_err = 1; /* set error */

View File

@@ -268,7 +268,7 @@ static const int32 map_unit[16] = { /* Type 550 unit map */
t_stat dt_svc (UNIT *uptr);
t_stat dt_reset (DEVICE *dptr);
t_stat dt_attach (UNIT *uptr, char *cptr);
t_stat dt_attach (UNIT *uptr, CONST char *cptr);
t_stat dt_detach (UNIT *uptr);
void dt_deselect (int32 oldf);
void dt_newsa (int32 newf);
@@ -980,7 +980,7 @@ return 0;
If 18b/36b, read data into buffer
*/
t_stat dt_attach (UNIT *uptr, char *cptr)
t_stat dt_attach (UNIT *uptr, CONST char *cptr)
{
uint16 pdp8b[D8_NBSIZE];
uint16 pdp11b[D18_BSIZE];

View File

@@ -94,7 +94,7 @@ t_stat ptr_reset (DEVICE *dptr);
t_stat ptp_reset (DEVICE *dptr);
t_stat tty_reset (DEVICE *dptr);
t_stat ptr_boot (int32 unitno, DEVICE *dptr);
t_stat ptr_attach (UNIT *uptr, char *cptr);
t_stat ptr_attach (UNIT *uptr, CONST char *cptr);
/* Character translation tables */
@@ -434,7 +434,7 @@ return SCPE_OK;
/* Attach routine */
t_stat ptr_attach (UNIT *uptr, char *cptr)
t_stat ptr_attach (UNIT *uptr, CONST char *cptr)
{
ptr_leader = PTR_LEADER; /* set up leader */
return attach_unit (uptr, cptr);

View File

@@ -67,7 +67,6 @@ extern REG cpu_reg[];
extern int32 M[];
extern int32 PC;
extern int32 ascii_to_fiodec[], fiodec_to_ascii[];
extern int32 sc_map[];
/* SCP data structures and interface routines
@@ -199,7 +198,7 @@ for (;;) {
return SCPE_OK; /* done */
}
t_stat sim_load (FILE *fileref, char *cptr, char *fnam, int flag)
t_stat sim_load (FILE *fileref, CONST char *cptr, CONST char *fnam, int flag)
{
t_stat sta;
int32 fld;
@@ -420,13 +419,13 @@ static const int32 opc_val[] = {
#define fputs(_s,f) Fprintf(f,"%s",_s)
#define fputc(_c,f) Fprintf(f,"%c",_c)
int32 fprint_opr (FILE *of, int32 inst, int32 class, int32 sp)
int32 fprint_opr (FILE *of, int32 inst, int32 Class, int32 sp)
{
int32 i, j;
for (i = 0; opc_val[i] >= 0; i++) { /* loop thru ops */
j = (opc_val[i] >> I_V_FL) & I_M_FL; /* get class */
if ((j == class) && (opc_val[i] & inst)) { /* same class? */
if ((j == Class) && (opc_val[i] & inst)) { /* same class? */
inst = inst & ~opc_val[i]; /* mask bit set? */
fprintf (of, (sp? " %s": "%s"), opcode[i]);
sp = 1;
@@ -580,21 +579,18 @@ return get_uint (cptr, 8, DMASK, status);
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)
{
int32 cflag, d, i, j, k, sign;
t_stat r;
static int32 sc_enc[10] = { 0, 01, 03, 07, 017, 037, 077, 0177, 0377, 0777 };
char gbuf[CBUFSIZE];
char gbuf[CBUFSIZE], cbuf[2*CBUFSIZE];
cflag = (uptr == NULL) || (uptr == &cpu_unit);
while (isspace (*cptr)) cptr++;
for (i = 1; (i < 3) && (cptr[i] != 0); i++) {
if (cptr[i] == 0) {
for (j = i + 1; j <= 3; j++)
cptr[j] = 0;
}
}
memset (cbuf, '\0', sizeof(cbuf));
strncpy (cbuf, cptr, sizeof(cbuf)-4);
cptr = cbuf;
if ((sw & SWMASK ('A')) || ((*cptr == '\'') && cptr++)) { /* ASCII char? */
if (cptr[0] == 0) /* must have 1 char */
return SCPE_ARG;