* Dewarninged the lcc and q3asm source

* Removed traditional target platforms from the lcc build. This might break
  building lcc on Windows using nmake. Submit patches or be quiet :p
* Default target for lcc is now bytecode, so -Wf-target=bytecode is no longer
  needed on the lcc command line
This commit is contained in:
Tim Angus 2005-10-04 01:21:34 +00:00
parent 6797dcc705
commit c07dc8dbee
38 changed files with 390 additions and 390 deletions

View file

@ -100,7 +100,7 @@ control(Tokenrow *trp)
error(ERROR, "Unidentifiable control line");
return; /* else empty line */
}
if ((np = lookup(tp, 0))==NULL || (np->flag&ISKW)==0 && !skipping) {
if ((np = lookup(tp, 0))==NULL || ((np->flag&ISKW)==0 && !skipping)) {
error(WARNING, "Unknown preprocessor control %t", tp);
return;
}
@ -215,7 +215,7 @@ control(Tokenrow *trp)
tp = trp->bp+2;
kline:
if (tp+1>=trp->lp || tp->type!=NUMBER || tp+3<trp->lp
|| (tp+3==trp->lp && ((tp+1)->type!=STRING)||*(tp+1)->t=='L')){
|| ((tp+3==trp->lp && ((tp+1)->type!=STRING))||*(tp+1)->t=='L')){
error(ERROR, "Syntax error in #line");
return;
}

View file

@ -1,11 +1,11 @@
#include <stdio.h>
#include <string.h>
#define EPR fprintf(stderr,
#define ERR(str, chr) if(opterr){EPR "%s%c\n", str, chr);}
int opterr = 1;
int optind = 1;
int optopt;
char *optarg;
char *strchr();
int
getopt (int argc, char *const argv[], const char *opts)
@ -14,7 +14,7 @@ getopt (int argc, char *const argv[], const char *opts)
int c;
char *cp;
if (sp == 1)
if (sp == 1) {
if (optind >= argc ||
argv[optind][0] != '-' || argv[optind][1] == '\0')
return -1;
@ -22,6 +22,7 @@ getopt (int argc, char *const argv[], const char *opts)
optind++;
return -1;
}
}
optopt = c = argv[optind][sp];
if (c == ':' || (cp=strchr(opts, c)) == 0) {
ERR (": illegal option -- ", c);

View file

@ -59,7 +59,7 @@ doinclude(Tokenrow *trp)
if ((fd = open(iname, 0)) >= 0)
break;
}
if ( Mflag>1 || !angled&&Mflag==1 ) {
if ( Mflag>1 || (!angled&&Mflag==1) ) {
write(1,objname,strlen(objname));
write(1,iname,strlen(iname));
write(1,"\n",1);

View file

@ -52,183 +52,183 @@ struct fsm {
/*const*/ struct fsm fsm[] = {
/* start state */
START, { C_XX }, ACT(UNCLASS,S_SELF),
START, { ' ', '\t', '\v' }, WS1,
START, { C_NUM }, NUM1,
START, { '.' }, NUM3,
START, { C_ALPH }, ID1,
START, { 'L' }, ST1,
START, { '"' }, ST2,
START, { '\'' }, CC1,
START, { '/' }, COM1,
START, { EOFC }, S_EOF,
START, { '\n' }, S_NL,
START, { '-' }, MINUS1,
START, { '+' }, PLUS1,
START, { '<' }, LT1,
START, { '>' }, GT1,
START, { '=' }, ASG1,
START, { '!' }, NOT1,
START, { '&' }, AND1,
START, { '|' }, OR1,
START, { '#' }, SHARP1,
START, { '%' }, PCT1,
START, { '[' }, ACT(SBRA,S_SELF),
START, { ']' }, ACT(SKET,S_SELF),
START, { '(' }, ACT(LP,S_SELF),
START, { ')' }, ACT(RP,S_SELF),
START, { '*' }, STAR1,
START, { ',' }, ACT(COMMA,S_SELF),
START, { '?' }, ACT(QUEST,S_SELF),
START, { ':' }, ACT(COLON,S_SELF),
START, { ';' }, ACT(SEMIC,S_SELF),
START, { '{' }, ACT(CBRA,S_SELF),
START, { '}' }, ACT(CKET,S_SELF),
START, { '~' }, ACT(TILDE,S_SELF),
START, { '^' }, CIRC1,
{START, { C_XX }, ACT(UNCLASS,S_SELF)},
{START, { ' ', '\t', '\v' }, WS1},
{START, { C_NUM }, NUM1},
{START, { '.' }, NUM3},
{START, { C_ALPH }, ID1},
{START, { 'L' }, ST1},
{START, { '"' }, ST2},
{START, { '\'' }, CC1},
{START, { '/' }, COM1},
{START, { EOFC }, S_EOF},
{START, { '\n' }, S_NL},
{START, { '-' }, MINUS1},
{START, { '+' }, PLUS1},
{START, { '<' }, LT1},
{START, { '>' }, GT1},
{START, { '=' }, ASG1},
{START, { '!' }, NOT1},
{START, { '&' }, AND1},
{START, { '|' }, OR1},
{START, { '#' }, SHARP1},
{START, { '%' }, PCT1},
{START, { '[' }, ACT(SBRA,S_SELF)},
{START, { ']' }, ACT(SKET,S_SELF)},
{START, { '(' }, ACT(LP,S_SELF)},
{START, { ')' }, ACT(RP,S_SELF)},
{START, { '*' }, STAR1},
{START, { ',' }, ACT(COMMA,S_SELF)},
{START, { '?' }, ACT(QUEST,S_SELF)},
{START, { ':' }, ACT(COLON,S_SELF)},
{START, { ';' }, ACT(SEMIC,S_SELF)},
{START, { '{' }, ACT(CBRA,S_SELF)},
{START, { '}' }, ACT(CKET,S_SELF)},
{START, { '~' }, ACT(TILDE,S_SELF)},
{START, { '^' }, CIRC1},
/* saw a digit */
NUM1, { C_XX }, ACT(NUMBER,S_SELFB),
NUM1, { C_NUM, C_ALPH, '.' }, NUM1,
NUM1, { 'E', 'e' }, NUM2,
NUM1, { '_' }, ACT(NUMBER,S_SELFB),
{NUM1, { C_XX }, ACT(NUMBER,S_SELFB)},
{NUM1, { C_NUM, C_ALPH, '.' }, NUM1},
{NUM1, { 'E', 'e' }, NUM2},
{NUM1, { '_' }, ACT(NUMBER,S_SELFB)},
/* saw possible start of exponent, digits-e */
NUM2, { C_XX }, ACT(NUMBER,S_SELFB),
NUM2, { '+', '-' }, NUM1,
NUM2, { C_NUM, C_ALPH }, NUM1,
NUM2, { '_' }, ACT(NUMBER,S_SELFB),
{NUM2, { C_XX }, ACT(NUMBER,S_SELFB)},
{NUM2, { '+', '-' }, NUM1},
{NUM2, { C_NUM, C_ALPH }, NUM1},
{NUM2, { '_' }, ACT(NUMBER,S_SELFB)},
/* saw a '.', which could be a number or an operator */
NUM3, { C_XX }, ACT(DOT,S_SELFB),
NUM3, { '.' }, DOTS1,
NUM3, { C_NUM }, NUM1,
{NUM3, { C_XX }, ACT(DOT,S_SELFB)},
{NUM3, { '.' }, DOTS1},
{NUM3, { C_NUM }, NUM1},
DOTS1, { C_XX }, ACT(UNCLASS, S_SELFB),
DOTS1, { C_NUM }, NUM1,
DOTS1, { '.' }, ACT(ELLIPS, S_SELF),
{DOTS1, { C_XX }, ACT(UNCLASS, S_SELFB)},
{DOTS1, { C_NUM }, NUM1},
{DOTS1, { '.' }, ACT(ELLIPS, S_SELF)},
/* saw a letter or _ */
ID1, { C_XX }, ACT(NAME,S_NAME),
ID1, { C_ALPH, C_NUM }, ID1,
{ID1, { C_XX }, ACT(NAME,S_NAME)},
{ID1, { C_ALPH, C_NUM }, ID1},
/* saw L (start of wide string?) */
ST1, { C_XX }, ACT(NAME,S_NAME),
ST1, { C_ALPH, C_NUM }, ID1,
ST1, { '"' }, ST2,
ST1, { '\'' }, CC1,
{ST1, { C_XX }, ACT(NAME,S_NAME)},
{ST1, { C_ALPH, C_NUM }, ID1},
{ST1, { '"' }, ST2},
{ST1, { '\'' }, CC1},
/* saw " beginning string */
ST2, { C_XX }, ST2,
ST2, { '"' }, ACT(STRING, S_SELF),
ST2, { '\\' }, ST3,
ST2, { '\n' }, S_STNL,
ST2, { EOFC }, S_EOFSTR,
{ST2, { C_XX }, ST2},
{ST2, { '"' }, ACT(STRING, S_SELF)},
{ST2, { '\\' }, ST3},
{ST2, { '\n' }, S_STNL},
{ST2, { EOFC }, S_EOFSTR},
/* saw \ in string */
ST3, { C_XX }, ST2,
ST3, { '\n' }, S_STNL,
ST3, { EOFC }, S_EOFSTR,
{ST3, { C_XX }, ST2},
{ST3, { '\n' }, S_STNL},
{ST3, { EOFC }, S_EOFSTR},
/* saw ' beginning character const */
CC1, { C_XX }, CC1,
CC1, { '\'' }, ACT(CCON, S_SELF),
CC1, { '\\' }, CC2,
CC1, { '\n' }, S_STNL,
CC1, { EOFC }, S_EOFSTR,
{CC1, { C_XX }, CC1},
{CC1, { '\'' }, ACT(CCON, S_SELF)},
{CC1, { '\\' }, CC2},
{CC1, { '\n' }, S_STNL},
{CC1, { EOFC }, S_EOFSTR},
/* saw \ in ccon */
CC2, { C_XX }, CC1,
CC2, { '\n' }, S_STNL,
CC2, { EOFC }, S_EOFSTR,
{CC2, { C_XX }, CC1},
{CC2, { '\n' }, S_STNL},
{CC2, { EOFC }, S_EOFSTR},
/* saw /, perhaps start of comment */
COM1, { C_XX }, ACT(SLASH, S_SELFB),
COM1, { '=' }, ACT(ASSLASH, S_SELF),
COM1, { '*' }, COM2,
COM1, { '/' }, COM4,
{COM1, { C_XX }, ACT(SLASH, S_SELFB)},
{COM1, { '=' }, ACT(ASSLASH, S_SELF)},
{COM1, { '*' }, COM2},
{COM1, { '/' }, COM4},
/* saw / then *, start of comment */
COM2, { C_XX }, COM2,
COM2, { '\n' }, S_COMNL,
COM2, { '*' }, COM3,
COM2, { EOFC }, S_EOFCOM,
{COM2, { C_XX }, COM2},
{COM2, { '\n' }, S_COMNL},
{COM2, { '*' }, COM3},
{COM2, { EOFC }, S_EOFCOM},
/* saw the * possibly ending a comment */
COM3, { C_XX }, COM2,
COM3, { '\n' }, S_COMNL,
COM3, { '*' }, COM3,
COM3, { '/' }, S_COMMENT,
{COM3, { C_XX }, COM2},
{COM3, { '\n' }, S_COMNL},
{COM3, { '*' }, COM3},
{COM3, { '/' }, S_COMMENT},
/* // comment */
COM4, { C_XX }, COM4,
COM4, { '\n' }, S_NL,
COM4, { EOFC }, S_EOFCOM,
{COM4, { C_XX }, COM4},
{COM4, { '\n' }, S_NL},
{COM4, { EOFC }, S_EOFCOM},
/* saw white space, eat it up */
WS1, { C_XX }, S_WS,
WS1, { ' ', '\t', '\v' }, WS1,
{WS1, { C_XX }, S_WS},
{WS1, { ' ', '\t', '\v' }, WS1},
/* saw -, check --, -=, -> */
MINUS1, { C_XX }, ACT(MINUS, S_SELFB),
MINUS1, { '-' }, ACT(MMINUS, S_SELF),
MINUS1, { '=' }, ACT(ASMINUS,S_SELF),
MINUS1, { '>' }, ACT(ARROW,S_SELF),
{MINUS1, { C_XX }, ACT(MINUS, S_SELFB)},
{MINUS1, { '-' }, ACT(MMINUS, S_SELF)},
{MINUS1, { '=' }, ACT(ASMINUS,S_SELF)},
{MINUS1, { '>' }, ACT(ARROW,S_SELF)},
/* saw +, check ++, += */
PLUS1, { C_XX }, ACT(PLUS, S_SELFB),
PLUS1, { '+' }, ACT(PPLUS, S_SELF),
PLUS1, { '=' }, ACT(ASPLUS, S_SELF),
{PLUS1, { C_XX }, ACT(PLUS, S_SELFB)},
{PLUS1, { '+' }, ACT(PPLUS, S_SELF)},
{PLUS1, { '=' }, ACT(ASPLUS, S_SELF)},
/* saw <, check <<, <<=, <= */
LT1, { C_XX }, ACT(LT, S_SELFB),
LT1, { '<' }, LT2,
LT1, { '=' }, ACT(LEQ, S_SELF),
LT2, { C_XX }, ACT(LSH, S_SELFB),
LT2, { '=' }, ACT(ASLSH, S_SELF),
{LT1, { C_XX }, ACT(LT, S_SELFB)},
{LT1, { '<' }, LT2},
{LT1, { '=' }, ACT(LEQ, S_SELF)},
{LT2, { C_XX }, ACT(LSH, S_SELFB)},
{LT2, { '=' }, ACT(ASLSH, S_SELF)},
/* saw >, check >>, >>=, >= */
GT1, { C_XX }, ACT(GT, S_SELFB),
GT1, { '>' }, GT2,
GT1, { '=' }, ACT(GEQ, S_SELF),
GT2, { C_XX }, ACT(RSH, S_SELFB),
GT2, { '=' }, ACT(ASRSH, S_SELF),
{GT1, { C_XX }, ACT(GT, S_SELFB)},
{GT1, { '>' }, GT2},
{GT1, { '=' }, ACT(GEQ, S_SELF)},
{GT2, { C_XX }, ACT(RSH, S_SELFB)},
{GT2, { '=' }, ACT(ASRSH, S_SELF)},
/* = */
ASG1, { C_XX }, ACT(ASGN, S_SELFB),
ASG1, { '=' }, ACT(EQ, S_SELF),
{ASG1, { C_XX }, ACT(ASGN, S_SELFB)},
{ASG1, { '=' }, ACT(EQ, S_SELF)},
/* ! */
NOT1, { C_XX }, ACT(NOT, S_SELFB),
NOT1, { '=' }, ACT(NEQ, S_SELF),
{NOT1, { C_XX }, ACT(NOT, S_SELFB)},
{NOT1, { '=' }, ACT(NEQ, S_SELF)},
/* & */
AND1, { C_XX }, ACT(AND, S_SELFB),
AND1, { '&' }, ACT(LAND, S_SELF),
AND1, { '=' }, ACT(ASAND, S_SELF),
{AND1, { C_XX }, ACT(AND, S_SELFB)},
{AND1, { '&' }, ACT(LAND, S_SELF)},
{AND1, { '=' }, ACT(ASAND, S_SELF)},
/* | */
OR1, { C_XX }, ACT(OR, S_SELFB),
OR1, { '|' }, ACT(LOR, S_SELF),
OR1, { '=' }, ACT(ASOR, S_SELF),
{OR1, { C_XX }, ACT(OR, S_SELFB)},
{OR1, { '|' }, ACT(LOR, S_SELF)},
{OR1, { '=' }, ACT(ASOR, S_SELF)},
/* # */
SHARP1, { C_XX }, ACT(SHARP, S_SELFB),
SHARP1, { '#' }, ACT(DSHARP, S_SELF),
{SHARP1, { C_XX }, ACT(SHARP, S_SELFB)},
{SHARP1, { '#' }, ACT(DSHARP, S_SELF)},
/* % */
PCT1, { C_XX }, ACT(PCT, S_SELFB),
PCT1, { '=' }, ACT(ASPCT, S_SELF),
{PCT1, { C_XX }, ACT(PCT, S_SELFB)},
{PCT1, { '=' }, ACT(ASPCT, S_SELF)},
/* * */
STAR1, { C_XX }, ACT(STAR, S_SELFB),
STAR1, { '=' }, ACT(ASSTAR, S_SELF),
{STAR1, { C_XX }, ACT(STAR, S_SELFB)},
{STAR1, { '=' }, ACT(ASSTAR, S_SELF)},
/* ^ */
CIRC1, { C_XX }, ACT(CIRC, S_SELFB),
CIRC1, { '=' }, ACT(ASCIRC, S_SELF),
{CIRC1, { C_XX }, ACT(CIRC, S_SELFB)},
{CIRC1, { '=' }, ACT(ASCIRC, S_SELF)},
-1
{-1}
};
/* first index is char, second is state */
@ -254,7 +254,7 @@ expandlex(void)
continue;
case C_ALPH:
for (j=0; j<=256; j++)
if ('a'<=j&&j<='z' || 'A'<=j&&j<='Z'
if (('a'<=j&&j<='z') || ('A'<=j&&j<='Z')
|| j=='_')
bigfsm[j][fp->state] = nstate;
continue;
@ -305,7 +305,6 @@ gettokens(Tokenrow *trp, int reset)
int runelen;
Source *s = cursource;
int nmac = 0;
extern char outbuf[];
tp = trp->lp;
ip = s->inp;

View file

@ -71,7 +71,7 @@ dodefine(Tokenrow *trp)
if (np->flag&ISDEFINED) {
if (comparetokens(def, np->vp)
|| (np->ap==NULL) != (args==NULL)
|| np->ap && comparetokens(args, np->ap))
|| (np->ap && comparetokens(args, np->ap)))
error(ERROR, "Macro redefinition of %t", trp->bp+2);
}
if (args) {
@ -141,7 +141,7 @@ expandrow(Tokenrow *trp, char *flag)
|| quicklook(tp->t[0], tp->len>1?tp->t[1]:0)==0
|| (np = lookup(tp, 0))==NULL
|| (np->flag&(ISDEFINED|ISMAC))==0
|| tp->hideset && checkhideset(tp->hideset, np)) {
|| (tp->hideset && checkhideset(tp->hideset, np))) {
tp++;
continue;
}
@ -300,7 +300,7 @@ gatherargs(Tokenrow *trp, Tokenrow **atr, int *narg)
parens--;
if (lp->type==DSHARP)
lp->type = DSHARP1; /* ## not special in arg */
if (lp->type==COMMA && parens==0 || parens<0 && (lp-1)->type!=LP) {
if ((lp->type==COMMA && parens==0) || (parens<0 && (lp-1)->type!=LP)) {
if (*narg>=NARG-1)
error(FATAL, "Sorry, too many macro arguments");
ttr.bp = ttr.tp = bp;
@ -339,7 +339,7 @@ substargs(Nlist *np, Tokenrow *rtr, Tokenrow **atr)
if (rtr->tp->type==NAME
&& (argno = lookuparg(np, rtr->tp)) >= 0) {
if ((rtr->tp+1)->type==DSHARP
|| rtr->tp!=rtr->bp && (rtr->tp-1)->type==DSHARP)
|| (rtr->tp!=rtr->bp && (rtr->tp-1)->type==DSHARP))
insertrow(rtr, 1, atr[argno]);
else {
copytokenrow(&tatr, atr[argno]);

View file

@ -20,26 +20,26 @@ struct kwtab {
int val;
int flag;
} kwtab[] = {
"if", KIF, ISKW,
"ifdef", KIFDEF, ISKW,
"ifndef", KIFNDEF, ISKW,
"elif", KELIF, ISKW,
"else", KELSE, ISKW,
"endif", KENDIF, ISKW,
"include", KINCLUDE, ISKW,
"define", KDEFINE, ISKW,
"undef", KUNDEF, ISKW,
"line", KLINE, ISKW,
"error", KERROR, ISKW,
"pragma", KPRAGMA, ISKW,
"eval", KEVAL, ISKW,
"defined", KDEFINED, ISDEFINED+ISUNCHANGE,
"__LINE__", KLINENO, ISMAC+ISUNCHANGE,
"__FILE__", KFILE, ISMAC+ISUNCHANGE,
"__DATE__", KDATE, ISMAC+ISUNCHANGE,
"__TIME__", KTIME, ISMAC+ISUNCHANGE,
"__STDC__", KSTDC, ISUNCHANGE,
NULL
{"if", KIF, ISKW},
{"ifdef", KIFDEF, ISKW},
{"ifndef", KIFNDEF, ISKW},
{"elif", KELIF, ISKW},
{"else", KELSE, ISKW},
{"endif", KENDIF, ISKW},
{"include", KINCLUDE, ISKW},
{"define", KDEFINE, ISKW},
{"undef", KUNDEF, ISKW},
{"line", KLINE, ISKW},
{"error", KERROR, ISKW},
{"pragma", KPRAGMA, ISKW},
{"eval", KEVAL, ISKW},
{"defined", KDEFINED, ISDEFINED+ISUNCHANGE},
{"__LINE__", KLINENO, ISMAC+ISUNCHANGE},
{"__FILE__", KFILE, ISMAC+ISUNCHANGE},
{"__DATE__", KDATE, ISMAC+ISUNCHANGE},
{"__TIME__", KTIME, ISMAC+ISUNCHANGE},
{"__STDC__", KSTDC, ISUNCHANGE},
{NULL}
};
unsigned long namebit[077+1];

View file

@ -154,14 +154,14 @@ makespace(Tokenrow *trp)
return;
if (tp->wslen) {
if (tp->flag&XPWS
&& (wstab[tp->type] || trp->tp>trp->bp && wstab[(tp-1)->type])) {
&& (wstab[tp->type] || (trp->tp>trp->bp && wstab[(tp-1)->type]))) {
tp->wslen = 0;
return;
}
tp->t[-1] = ' ';
return;
}
if (wstab[tp->type] || trp->tp>trp->bp && wstab[(tp-1)->type])
if (wstab[tp->type] || (trp->tp>trp->bp && wstab[(tp-1)->type]))
return;
tt = newstring(tp->t, tp->len, 1);
*tt++ = ' ';