summaryrefslogtreecommitdiff
path: root/bcc
diff options
context:
space:
mode:
authorRobert de Bath <rdebath@poboxes.com>1997-10-05 15:05:09 +0200
committerLubomir Rintel <lkundrak@v3.sk>2013-10-23 23:40:02 +0200
commit48798bf2eb93ec3b99720ac2e16093441156653d (patch)
tree35e03d95df5f2677f05e32d70abb6d0583aa47ba /bcc
parent9d97bc3cb3aecd3416fb7c4be3ca2f436665b696 (diff)
downloaddev86-48798bf2eb93ec3b99720ac2e16093441156653d.tar.gz
Import Dev86src-0.13.0.tar.gzv0.13.0
Diffstat (limited to 'bcc')
-rw-r--r--bcc/bcc.c80
-rw-r--r--bcc/bcc.h4
-rw-r--r--bcc/codefrag.c16
-rw-r--r--bcc/glogcode.c70
-rw-r--r--bcc/hardop.c4
-rw-r--r--bcc/input.c4
-rw-r--r--bcc/label.c30
-rw-r--r--bcc/proto.h32
-rw-r--r--bcc/state.c30
-rw-r--r--bcc/table.c4
-rw-r--r--bcc/types.h6
11 files changed, 138 insertions, 142 deletions
diff --git a/bcc/bcc.c b/bcc/bcc.c
index 146312a..1200926 100644
--- a/bcc/bcc.c
+++ b/bcc/bcc.c
@@ -181,6 +181,7 @@ ssize_t write P((int fd, const void *buf, size_t nbytes));
int main P((int argc, char **argv));
FORWARD void addarg P((struct arg_s *argp, char *arg));
+FORWARD void adddefine P((char *arg));
FORWARD void addprefix P((struct prefix_s *prefix, char *name));
FORWARD char *expand_tilde P((char * str, int canfree));
FORWARD void fatal P((char *message));
@@ -364,11 +365,8 @@ char **argv;
case 'v':
++verbosity;
break;
- case 'w':
- aswarn=FALSE;
- break;
case 'W':
- ++aswarn;
+ aswarn = TRUE;
break;
case 'I':
add_default_inc = 0;
@@ -376,6 +374,7 @@ char **argv;
case 'L':
add_default_lib = 0;
break;
+
default:
*argdone = FALSE;
break;
@@ -388,11 +387,8 @@ char **argv;
{
ansi_pass=TRUE;
cpp_pass=TRUE;
-#ifndef CCC
/* NOTE I'm setting this to zero, this isn't a _real_ STDC */
- addarg(&ccargs, "-D__STDC__=0");
-#endif
- addarg(&cppargs, "-D__STDC__=0");
+ adddefine("-D__STDC__=0");
}
break;
case 'A':
@@ -407,10 +403,7 @@ char **argv;
case 'D':
case 'I':
case 'U':
-#ifndef CCC
- addarg(&ccargs, arg);
-#endif
- addarg(&cppargs, arg);
+ adddefine(arg);
break;
case 'X':
addarg(&ldargs, arg + 2);
@@ -485,15 +478,13 @@ char **argv;
exit(1);
#ifdef BCC86
+ if(!major_mode && !bits32) major_mode='n';
switch(major_mode)
{
case 'd': /* DOS compile */
bits32 = FALSE;
libc= "-ldos";
-#ifndef CCC
- addarg(&ccargs, "-D__MSDOS__");
-#endif
- addarg(&cppargs, "-D__MSDOS__");
+ adddefine("-D__MSDOS__");
addarg(&ldargs, "-d");
addarg(&ldargs, "-s");
addarg(&ldargs, "-T100");
@@ -502,11 +493,15 @@ char **argv;
case 'n': /* Normal Linux-86 */
bits32 = FALSE;
libc= "-lc";
+ adddefine("-D__ELKS__");
+ adddefine("-D__unix__");
break;
case 'f': /* Caller saves+ax is first arg */
bits32 = FALSE;
libc= "-lc_f";
+ adddefine("-D__ELKS__");
+ adddefine("-D__unix__");
addarg(&ccargs, "-f");
addarg(&ccargs, "-c");
break;
@@ -514,35 +509,37 @@ char **argv;
case 'c': /* Just caller saves, normal C-lib is ok */
bits32 = FALSE;
libc= "-lc";
+ adddefine("-D__ELKS__");
+ adddefine("-D__unix__");
addarg(&ccargs, "-c");
break;
case 's': /* Standalone executable */
bits32 = FALSE;
libc= "-lc_s";
-#ifndef CCC
- addarg(&ccargs, "-D__STANDALONE__");
-#endif
- addarg(&cppargs, "-D__STANDALONE__");
+ adddefine("-D__STANDALONE__");
break;
case 'l': /* Large Linux compile */
bits32 = TRUE;
libc= "-lc";
-#ifndef CCC
- addarg(&ccargs, "-D__linux__");
-#endif
- addarg(&cppargs, "-D__linux__");
+ adddefine("-D__linux__");
+ adddefine("-D__unix__");
addarg(&ldargs, "-N"); /* Make OMAGIC */
break;
+
+ case '?':
case 0:
break;
+
default:
fatal("Fatal error: illegal -M option given");
}
#endif
- if( !aswarn )
+ if( aswarn )
+ addarg(&asargs, "-w-");
+ else
addarg(&asargs, "-w");
if( patch_exe )
addarg(&ldargs, "-s");
@@ -558,12 +555,7 @@ char **argv;
if ((temp = getenv("BCC_EXEC_PREFIX")) != NUL_PTR)
addprefix(&exec_prefix, temp);
if( add_default_inc )
- {
-#ifndef CCC
- addarg(&ccargs, DEFAULT_INCLUDE);
-#endif
- addarg(&cppargs, DEFAULT_INCLUDE);
- }
+ adddefine(DEFAULT_INCLUDE);
if( add_default_lib )
{
#ifdef BCC86
@@ -1030,6 +1022,15 @@ int canfree;
return newstr;
}
+PRIVATE void adddefine(arg)
+char *arg;
+{
+#ifndef CCC
+ addarg(&ccargs, arg);
+#endif
+ addarg(&cppargs, arg);
+}
+
PRIVATE void addarg(argp, arg)
register struct arg_s *argp;
char *arg;
@@ -1279,27 +1280,14 @@ struct arg_s *argp;
PRIVATE void set_trap()
{
-#ifndef NORDB
#ifdef SIGINT
signal(SIGINT, trap);
#endif
#ifdef SIGQUIT
signal(SIGQUIT, trap);
#endif
-
-#else
- /* This is being too trap happy IMO - Rdb */
-#ifndef _NSIG
-#define _NSIG NSIG
-#endif
- int signum;
-
- for (signum = 0; signum <= _NSIG; ++signum)
-#ifdef SIGCHLD
- if (signum != SIGCHLD)
-#endif
- if (signal(signum, SIG_IGN) != SIG_IGN)
- signal(signum, trap);
+#ifdef SIGTERM
+ signal(SIGTERM, trap);
#endif
}
diff --git a/bcc/bcc.h b/bcc/bcc.h
index 275c100..788441e 100644
--- a/bcc/bcc.h
+++ b/bcc/bcc.h
@@ -2,6 +2,10 @@
* This file is part of the Linux-8086 Development environment and is
* distributed under the GNU General Public License. */
+#ifdef _AIX
+#include <sys/types.h> /* AIX 4.1 + GCC seems to need this */
+#endif
+
/* Ansi C has certain guarentees ... except under MSdross :-( */
#ifdef __STDC__
diff --git a/bcc/codefrag.c b/bcc/codefrag.c
index 750c837..0423a44 100644
--- a/bcc/codefrag.c
+++ b/bcc/codefrag.c
@@ -691,7 +691,7 @@ store_pt reg;
/* adjust stack ptr by adding a labelled constant less current sp */
PUBLIC void adjsp(label)
-label_t label;
+label_no label;
{
outaddsp();
outbyte(LOCALSTARTCHAR);
@@ -767,9 +767,9 @@ PUBLIC void bssseg()
/* jump to case of switch */
-PUBLIC label_t casejump()
+PUBLIC label_no casejump()
{
- label_t jtablelab;
+ label_no jtablelab;
#ifdef I8088
outlswitch();
@@ -886,13 +886,13 @@ uoffset_t nullcount;
/* define string */
-PUBLIC label_t defstr(sptr, stop, dataflag)
+PUBLIC label_no defstr(sptr, stop, dataflag)
char *sptr;
char *stop;
bool_pt dataflag;
{
int byte; /* promoted char for output */
- label_t strlab;
+ label_no strlab;
seg_t oldsegment;
fastin_t count; /* range 0..max(DEFSTR_BYTEMAX,DEFSTR_STRMAX) */
@@ -1043,7 +1043,7 @@ char *string;
/* equate a local label to a value */
PUBLIC void equlab(label, offset)
-label_t label;
+label_no label;
offset_t offset;
{
outbyte(LOCALSTARTCHAR);
@@ -1087,7 +1087,7 @@ store_pt reg;
outcwd();
regtransfer(DXREG, reg);
#else
- label_t exitlab;
+ label_no exitlab;
clr(reg);
testhi();
@@ -1106,7 +1106,7 @@ store_pt reg;
/* define local common storage */
PUBLIC void lcommlab(label)
-label_t label;
+label_no label;
{
outlabel(label);
outlcommon();
diff --git a/bcc/glogcode.c b/bcc/glogcode.c
index 7aac27c..279d625 100644
--- a/bcc/glogcode.c
+++ b/bcc/glogcode.c
@@ -40,26 +40,26 @@ FORWARD void cmporsub P((struct symstruct *target));
FORWARD bool_pt cmpsmallconst P((value_t intconst, struct symstruct *target,
ccode_t *pcondtrue));
#endif
-FORWARD void comparecond P((struct nodestruct *exp, label_t truelab,
- label_t falselab, bool_pt nojump));
-FORWARD void jumpcond P((struct nodestruct *exp, label_t truelab,
- label_t falselab, bool_pt nojump));
-FORWARD void loadlogical P((struct symstruct *source, label_t falselab));
-FORWARD void logandcond P((struct nodestruct *exp, label_t truelab,
- label_t falselab, bool_pt nojump));
-FORWARD void logorcond P((struct nodestruct *exp, label_t truelab,
- label_t falselab, bool_pt nojump));
+FORWARD void comparecond P((struct nodestruct *exp, label_no truelab,
+ label_no falselab, bool_pt nojump));
+FORWARD void jumpcond P((struct nodestruct *exp, label_no truelab,
+ label_no falselab, bool_pt nojump));
+FORWARD void loadlogical P((struct symstruct *source, label_no falselab));
+FORWARD void logandcond P((struct nodestruct *exp, label_no truelab,
+ label_no falselab, bool_pt nojump));
+FORWARD void logorcond P((struct nodestruct *exp, label_no truelab,
+ label_no falselab, bool_pt nojump));
FORWARD void reduceconst P((struct symstruct *source));
FORWARD void test P((struct symstruct *target, ccode_t *pcondtrue));
-FORWARD void testcond P((struct nodestruct *exp, label_t truelab,
- label_t falselab, bool_pt nojump));
+FORWARD void testcond P((struct nodestruct *exp, label_no truelab,
+ label_no falselab, bool_pt nojump));
PUBLIC void cmp(source, target, pcondtrue)
struct symstruct *source;
struct symstruct *target;
ccode_t *pcondtrue;
{
- label_t falselab;
+ label_no falselab;
cmplocal(source, target, pcondtrue);
#if 0
@@ -230,8 +230,8 @@ ccode_t *pcondtrue;
PRIVATE void comparecond(exp, truelab, falselab, nojump)
struct nodestruct *exp;
-label_t truelab;
-label_t falselab;
+label_no truelab;
+label_no falselab;
bool_pt nojump; /* NB if nonzero, is ~0 so complement is 0 */
{
ccode_t condtrue;
@@ -278,11 +278,11 @@ bool_pt nojump; /* NB if nonzero, is ~0 so complement is 0 */
PUBLIC void condop(exp)
struct nodestruct *exp;
{
- label_t exitlab;
- label_t falselab;
+ label_no exitlab;
+ label_no falselab;
struct nodestruct *falsenode;
struct symstruct *falsesym;
- label_t truelab;
+ label_no truelab;
struct nodestruct *truenode;
struct symstruct *truesym;
@@ -318,8 +318,8 @@ struct nodestruct *exp;
PRIVATE void jumpcond(exp, truelab, falselab, nojump)
struct nodestruct *exp;
-label_t truelab;
-label_t falselab;
+label_no truelab;
+label_no falselab;
bool_pt nojump; /* NB if nonzero, is ~0 so complement is 0 */
{
switch (exp->tag)
@@ -349,9 +349,9 @@ bool_pt nojump; /* NB if nonzero, is ~0 so complement is 0 */
PUBLIC void jumpfalse(exp, label)
struct nodestruct *exp;
-label_t label;
+label_no label;
{
- label_t truelab;
+ label_no truelab;
jumpcond(exp, truelab = getlabel(), label, ~0);
deflabel(truelab);
@@ -359,9 +359,9 @@ label_t label;
PUBLIC void jumptrue(exp, label)
struct nodestruct *exp;
-label_t label;
+label_no label;
{
- label_t falselab;
+ label_no falselab;
jumpcond(exp, label, falselab = getlabel(), 0);
deflabel(falselab);
@@ -369,9 +369,9 @@ label_t label;
PRIVATE void loadlogical(source, falselab)
struct symstruct *source;
-label_t falselab;
+label_no falselab;
{
- label_t exitlab;
+ label_no exitlab;
struct symstruct *target;
target = constsym((value_t) TRUE);
@@ -388,11 +388,11 @@ label_t falselab;
PRIVATE void logandcond(exp, truelab, falselab, nojump)
struct nodestruct *exp;
-label_t truelab;
-label_t falselab;
+label_no truelab;
+label_no falselab;
bool_pt nojump; /* NB if nonzero, is ~0 so complement is 0 */
{
- label_t andlab;
+ label_no andlab;
andlab = getlabel();
jumpcond(exp->left.nodeptr, andlab, falselab, ~0);
@@ -403,9 +403,9 @@ bool_pt nojump; /* NB if nonzero, is ~0 so complement is 0 */
PUBLIC void logop(exp)
struct nodestruct *exp;
{
- label_t falselab;
+ label_no falselab;
struct symstruct *target;
- label_t truelab;
+ label_no truelab;
jumpcond(exp, truelab = getlabel(), falselab = getlabel(), ~0);
deflabel(truelab);
@@ -418,11 +418,11 @@ struct nodestruct *exp;
PRIVATE void logorcond(exp, truelab, falselab, nojump)
struct nodestruct *exp;
-label_t truelab;
-label_t falselab;
+label_no truelab;
+label_no falselab;
bool_pt nojump; /* NB if nonzero, is ~0 so complement is 0 */
{
- label_t orlab;
+ label_no orlab;
orlab = getlabel();
jumpcond(exp->left.nodeptr, truelab, orlab, 0);
@@ -532,8 +532,8 @@ ccode_t *pcondtrue;
PRIVATE void testcond(exp, truelab, falselab, nojump)
struct nodestruct *exp;
-label_t truelab;
-label_t falselab;
+label_no truelab;
+label_no falselab;
bool_pt nojump; /* NB if nonzero, is ~0 so complement is 0 */
{
ccode_t condtrue;
diff --git a/bcc/hardop.c b/bcc/hardop.c
index c6adb87..187a4f5 100644
--- a/bcc/hardop.c
+++ b/bcc/hardop.c
@@ -428,9 +428,9 @@ PUBLIC void ptrsub(source, target)
struct symstruct *source;
struct symstruct *target;
{
- label_t exitlab;
+ label_no exitlab;
uoffset_t factor;
- label_t usignlab;
+ label_no usignlab;
if (source->indcount == 0 && source->storage != CONSTANT)
{
diff --git a/bcc/input.c b/bcc/input.c
index 1adedda..d7667ca 100644
--- a/bcc/input.c
+++ b/bcc/input.c
@@ -550,10 +550,14 @@ ts_s_includelist += sizeof *incnew;
{
i386_32 = TRUE;
definestring("__AS386_32__");
+ definestring("__i386__");
}
else
#endif
+ {
definestring("__AS386_16__");
+ definestring("__8086__");
+ }
#endif
#ifdef MC6809
definestring("__AS09__");
diff --git a/bcc/label.c b/bcc/label.c
index 635a5bd..b250d2b 100644
--- a/bcc/label.c
+++ b/bcc/label.c
@@ -25,7 +25,7 @@
struct labdatstruct
{
- label_t labnum; /* 0 if not active */
+ label_no labnum; /* 0 if not active */
offset_t lablc; /* location counter for branch or label */
char *labpatch; /* buffer ptr for branch, NULL for label */
ccode_t labcond; /* condition code for branch */
@@ -55,9 +55,9 @@ PRIVATE char condnames[][2] = /* names of condition codes */
};
#endif
-PRIVATE label_t lasthighlab = 0xFFFF+1; /* temp & temp init so labels fixed */
+PRIVATE label_no lasthighlab = 0xFFFF+1; /* temp & temp init so labels fixed */
/* lint */
-PRIVATE label_t lastlab; /* bss init to 0 */
+PRIVATE label_no lastlab; /* bss init to 0 */
PRIVATE offset_t lc; /* bss init to 0 */
PRIVATE struct labdatstruct vislab[MAXVISLAB]; /* bss, all labnum's init 0 */
@@ -65,14 +65,14 @@ PRIVATE smalin_t nextvislab; /* bss init to NULL */
PRIVATE struct symstruct *namedfirst; /* bss init to NULL */
PRIVATE struct symstruct *namedlast; /* bss init to NULL */
-FORWARD void addlabel P((ccode_pt cond, label_t label, char *patch));
-FORWARD struct labdatstruct *findlabel P((label_t label));
+FORWARD void addlabel P((ccode_pt cond, label_no label, char *patch));
+FORWARD struct labdatstruct *findlabel P((label_no label));
/* add label to circular list */
PRIVATE void addlabel(cond, label, patch)
ccode_pt cond;
-label_t label;
+label_no label;
char *patch;
{
register struct labdatstruct *labptr;
@@ -167,7 +167,7 @@ PUBLIC uoffset_t getlc()
/* define location of label and backpatch references to it */
PUBLIC void deflabel(label)
-label_t label;
+label_no label;
{
char *cnameptr;
struct labdatstruct *labmin;
@@ -241,7 +241,7 @@ label_t label;
}
PRIVATE struct labdatstruct *findlabel(label)
-label_t label;
+label_no label;
{
register struct labdatstruct *labptr;
struct labdatstruct *labtop;
@@ -259,14 +259,14 @@ label_t label;
/* reserve a new label, from top down to temp avoid renumbering low labels */
-PUBLIC label_t gethighlabel()
+PUBLIC label_no gethighlabel()
{
return --lasthighlab;
}
/* reserve a new label */
-PUBLIC label_t getlabel()
+PUBLIC label_no getlabel()
{
return ++lastlab;
}
@@ -274,7 +274,7 @@ PUBLIC label_t getlabel()
/* jump to label */
PUBLIC void jump(label)
-label_t label;
+label_no label;
{
lbranch(RA, label);
}
@@ -283,7 +283,7 @@ label_t label;
PUBLIC void lbranch(cond, label)
ccode_pt cond;
-label_t label;
+label_no label;
{
#ifdef I8088
char *cnameptr;
@@ -376,7 +376,7 @@ ccode_pt cond;
/* print label */
PUBLIC void outlabel(label)
-label_t label;
+label_no label;
{
outbyte(LABELSTARTCHAR);
outhexdigs((uoffset_t) label);
@@ -385,7 +385,7 @@ label_t label;
/* print label and newline */
PUBLIC void outnlabel(label)
-label_t label;
+label_no label;
{
outlabel(label);
#ifdef LABELENDCHAR
@@ -399,7 +399,7 @@ label_t label;
PUBLIC void sbranch(cond, label)
ccode_pt cond;
-label_t label;
+label_no label;
{
#ifdef I8088
char *cnameptr;
diff --git a/bcc/proto.h b/bcc/proto.h
index b3e7151..69eebb2 100644
--- a/bcc/proto.h
+++ b/bcc/proto.h
@@ -8,7 +8,7 @@ void cast P((struct typestruct *type, struct symstruct *target));
void extend P((struct symstruct *target));
/* codefrag.c */
-void adjsp P((label_t label));
+void adjsp P((label_no label));
void clrBreg P((void));
void comment P((void));
void ctoi P((void));
@@ -57,20 +57,20 @@ void addconst P((offset_t offset, store_pt reg));
void adjlc P((offset_t offset, store_pt reg));
void andconst P((offset_t offset));
void bssseg P((void));
-label_t casejump P((void));
+label_no casejump P((void));
void common P((char *name));
void cseg P((void));
void defnulls P((uoffset_t nullcount));
-label_t defstr P((char *sptr, char *stop, bool_pt dataflag));
+label_no defstr P((char *sptr, char *stop, bool_pt dataflag));
bool_pt diveasy P((value_t divisor, bool_pt uflag));
void dpseg P((void));
void dseg P((void));
void equ P((char *name, char *string));
-void equlab P((label_t label, offset_t offset));
+void equlab P((label_no label, offset_t offset));
void globl P((char *name));
void import P((char *name));
void itol P((store_pt reg));
-void lcommlab P((label_t label));
+void lcommlab P((label_no label));
void lcommon P((char *name));
void lea P((offset_t offset, store_pt sourcereg, store_pt targreg));
void loadconst P((offset_t offset, store_pt reg));
@@ -189,8 +189,8 @@ void transfer P((struct symstruct *source, store_pt targreg));
void cmp P((struct symstruct *source, struct symstruct *target,
ccode_t *pcondtrue));
void condop P((struct nodestruct *exp));
-void jumpfalse P((struct nodestruct *exp, label_t label));
-void jumptrue P((struct nodestruct *exp, label_t label));
+void jumpfalse P((struct nodestruct *exp, label_no label));
+void jumptrue P((struct nodestruct *exp, label_no label));
void logop P((struct nodestruct *exp));
/* hardop.c */
@@ -220,16 +220,16 @@ void clearfunclabels P((void));
void clearlabels P((char *patchbuf, char *patchtop));
void clearswitchlabels P((void));
uoffset_t getlc P((void));
-void deflabel P((label_t label));
-label_t gethighlabel P((void));
-label_t getlabel P((void));
-void jump P((label_t label));
-void lbranch P((ccode_pt cond, label_t label));
+void deflabel P((label_no label));
+label_no gethighlabel P((void));
+label_no getlabel P((void));
+void jump P((label_no label));
+void lbranch P((ccode_pt cond, label_no label));
struct symstruct *namedlabel P((void));
void outcond P((ccode_pt cond));
-void outlabel P((label_t label));
-void outnlabel P((label_t label));
-void sbranch P((ccode_pt cond, label_t label));
+void outlabel P((label_no label));
+void outnlabel P((label_no label));
+void sbranch P((ccode_pt cond, label_no label));
void unbumplc P((void));
/* loadexp.c */
@@ -343,7 +343,7 @@ struct symstruct *findstruct P((char *name));
struct symstruct **gethashptr P((char *sname));
void growheap P((unsigned size));
void *growobject P((void *object, unsigned extra));
-label_t holdstr P((char *sptr, char *stop));
+label_no holdstr P((char *sptr, char *stop));
void newlevel P((void));
void oldlevel P((void));
void ourfree P((void *ptr));
diff --git a/bcc/state.c b/bcc/state.c
index 7a1faef..6a83963 100644
--- a/bcc/state.c
+++ b/bcc/state.c
@@ -22,8 +22,8 @@
struct loopstruct
{
- label_t breaklab; /* destination for break */
- label_t contlab; /* destination for continue */
+ label_no breaklab; /* destination for break */
+ label_no contlab; /* destination for continue */
struct nodestruct *etmark; /* expression tree built during loop */
struct symstruct *exprmark; /* expression symbols built during loop */
struct symstruct *locmark; /* local variables built during loop */
@@ -36,12 +36,12 @@ struct switchstruct
struct casestruct *caseptr; /* current spot in caselist */
struct casestruct *casetop; /* last in caselist + 1 */
bool_t charselector; /* tells if case selector is char */
- label_t dfaultlab; /* destination for default case (0 if none) */
+ label_no dfaultlab; /* destination for default case (0 if none) */
struct switchstruct *prevswitch; /* previous active switch */
struct casestruct
{
value_t casevalue; /* value giving this case */
- label_t caselabel; /* corresponding label */
+ label_no caselabel; /* corresponding label */
}
caselist[INITIALCASES]; /* perhaps larger */
};
@@ -50,7 +50,7 @@ PRIVATE struct loopstruct *loopnow; /* currently active for/switch/while */
/* depends on NULL init */
PRIVATE bool_t returnflag; /* set if last effective statement */
/* was a return */
-PRIVATE label_t swstacklab; /* label giving stack for switch statement */
+PRIVATE label_no swstacklab; /* label giving stack for switch statement */
FORWARD void addloop P((struct loopstruct *newloop));
FORWARD void badloop P((void));
@@ -364,7 +364,7 @@ PRIVATE void dodefault()
PRIVATE void dodowhile()
{
struct loopstruct dwhileloop;
- label_t dolab;
+ label_no dolab;
addloop(&dwhileloop);
deflabel(dolab = getlabel());
@@ -385,8 +385,8 @@ PRIVATE void dodowhile()
PRIVATE void dofor()
{
struct loopstruct forloop;
- label_t forstatlab;
- label_t fortestlab = 0; /* for -Wall */
+ label_no forstatlab;
+ label_no fortestlab = 0; /* for -Wall */
struct nodestruct *testexp;
struct nodestruct *loopexp;
@@ -446,8 +446,8 @@ PRIVATE void dogoto()
PRIVATE void doif()
{
struct nodestruct *etmark;
- label_t elselab;
- label_t exitlab;
+ label_no elselab;
+ label_no exitlab;
struct symstruct *exprmark;
lparen();
@@ -486,7 +486,7 @@ PRIVATE void doswitch()
struct switchstruct *sw;
struct loopstruct switchloop;
offset_t spmark = 0; /* for -Wall */
- label_t sdecidelab;
+ label_no sdecidelab;
sw = (struct switchstruct *) ourmalloc(sizeof *sw);
#ifdef TS
@@ -532,7 +532,7 @@ PRIVATE void dowhile()
{
struct loopstruct whileloop;
struct nodestruct *testexp;
- label_t wstatlab;
+ label_no wstatlab;
lparen();
addloop(&whileloop);
@@ -557,11 +557,11 @@ PRIVATE void jumptocases()
value_t caseval;
bool_t charselector;
bool_t dfaultflag;
- label_t dfaultlab;
- label_t jtablelab;
+ label_no dfaultlab;
+ label_no jtablelab;
ccode_t lowcondition;
store_pt targreg;
- label_t zjtablelab;
+ label_no zjtablelab;
caseptr = switchnow->caselist;
casetop = switchnow->caseptr;
diff --git a/bcc/table.c b/bcc/table.c
index 19e1528..8b9bfb8 100644
--- a/bcc/table.c
+++ b/bcc/table.c
@@ -50,7 +50,7 @@ struct string
struct string *snext;
char *sptr;
char *stop;
- label_t slabel;
+ label_no slabel;
};
#endif
@@ -495,7 +495,7 @@ PRIVATE void heapcorrupterror()
/* hold string for dumping at end, to avoid mixing it with other data */
-PUBLIC label_t holdstr(sptr, stop)
+PUBLIC label_no holdstr(sptr, stop)
char *sptr;
char *stop;
{
diff --git a/bcc/types.h b/bcc/types.h
index 79ff836..da34a3a 100644
--- a/bcc/types.h
+++ b/bcc/types.h
@@ -92,7 +92,7 @@ typedef smalu_pt constr_pt; /* promoted constr_t */
typedef smalu_t constr_t; /* type constructor flags */
typedef smalu_pt indn_pt; /* promoted indn_t */
typedef smalu_t indn_t; /* storage indirection count */
-typedef unsigned label_t; /* label number */
+typedef unsigned label_no; /* label number */
typedef smalu_t maclev_t; /* macro expansion level */
typedef smalin_pt op_pt; /* promoted op_t */
typedef smalin_t op_t; /* operator code */
@@ -147,7 +147,7 @@ struct symstruct
{
double *offd; /* value for double constants */
offset_t offi; /* offset for register or global storage */
- label_t offlabel; /* label number for strings */
+ label_no offlabel; /* label number for strings */
char *offp; /* to string for macro definitions */
sym_pt offsym; /* symbol code for keywords */
value_t offv; /* value for integral constants */
@@ -155,7 +155,7 @@ struct symstruct
offset;
union
{
- label_t label; /* label number for strings */
+ label_no label; /* label number for strings */
char namea[1]; /* variable length array for declarations */
char *namep; /* to constant storage for exprs */
}