Another batch...

This commit is contained in:
Godzil
2013-03-12 03:18:07 +01:00
committed by Manoël Trapier
parent 653bd13b40
commit 674eb61908
13 changed files with 256 additions and 143 deletions

View File

@@ -17,14 +17,62 @@
#include "debug.h"
#include "global.h"
int linecount; /* # lines in this file */
bool verbose_flag = FALSE; /* generate verbose output ? */
/* VARARGS1 */
error(s,a) char *s,*a; {
#ifdef __STDC__
/* VARARGS1 */
void error(char *s, ...)
{
va_list ap;
fprintf(stderr,"error on line %u",linecount);
if (filename != (char *) 0) {
fprintf(stderr," file %s",filename);
}
fprintf(stderr,": ");
va_start(ap, s);
vfprintf(stderr,s, ap);
va_end(ap);
fprintf(stderr,"\n");
abort();
exit(-1);
}
#ifdef TRACE
/* VARARGS1 */
void OUTTRACE(char *s, ...)
{
va_list ap;
fprintf(stderr,"> ");
va_start(ap, s);
vfprintf(stderr,s, ap);
va_end(ap);
fprintf(stderr,"\n");
}
#endif
#ifdef VERBOSE
/* VARARGS1 */
void OUTVERBOSE(char *s, ...)
{
if (verbose_flag) {
va_list ap;
fprintf(stderr,"optimization: ");
va_start(ap, s);
vfprintf(stderr,s, ap);
va_end(ap);
fprintf(stderr,"\n");
}
}
#endif
#else /* __STDC__ */
/* VARARGS1 */
void error(char *s, char *a)
{
fprintf(stderr,"error on line %u",linecount);
if (filename != (char *) 0) {
fprintf(stderr," file %s",filename);
@@ -38,9 +86,7 @@ error(s,a) char *s,*a; {
#ifdef TRACE
/* VARARGS1 */
OUTTRACE(s,n)
char *s;
int n;
void OUTTRACE(char *s, int n)
{
fprintf(stderr,"> ");
fprintf(stderr,s,n);
@@ -50,9 +96,7 @@ OUTTRACE(s,n)
#ifdef VERBOSE
/* VARARGS1 */
OUTVERBOSE(s,n1,n2)
char *s;
int n1,n2;
void OUTVERBOSE(char *s, int n1, int n2)
{
if (verbose_flag) {
fprintf(stderr,"optimization: ");
@@ -62,17 +106,18 @@ OUTVERBOSE(s,n1,n2)
}
#endif
#endif /* __STDC__ */
#ifdef DEBUG
badassertion(file,line) char *file; unsigned line; {
void badassertion(char *file, unsigned int line)
{
fprintf(stderr,"assertion failed file %s, line %u\n",file,line);
error("assertion");
}
/* Valid Address */
VA(a) short *a; {
void VA(short *a)
{
if (a == (short *) 0) error("VA: 0 argument");
if ( ((unsigned) a & 01) == 01) {
/* MACHINE DEPENDENT TEST */
@@ -83,14 +128,16 @@ VA(a) short *a; {
/* Valid Instruction code */
VI(i) short i; {
void VI(short i)
{
if (i > ps_last) error("VI: illegal instr: %d", i);
}
/* Valid Line */
VL(l) line_p l; {
void VL(line_p l)
{
byte instr, optype;
VA((short *) l);
@@ -106,7 +153,8 @@ VL(l) line_p l; {
/* Valid Data block */
VD(d) dblock_p d; {
void VD(dblock_p d)
{
byte pseudo;
VA((short *) d);
@@ -119,7 +167,8 @@ VD(d) dblock_p d; {
/* Valid Object */
VO(o) obj_p o; {
void VO(obj_p o)
{
offset off;
VA((short *) o);
@@ -133,7 +182,8 @@ VO(o) obj_p o; {
/* Valid Proc */
VP(p) proc_p p; {
void VP(proc_p p)
{
proc_id pid;
int nrlabs;