Commit graph

217 commits

Author SHA1 Message Date
Bill Currie
144eba8b3c it seems that the qcc variants that strip global defs only strip the name, so
don't bother fixing missing defs (but /do/ complain if any are missing). I
suspect full def striping would have seriously broken things.
2001-07-18 18:03:53 +00:00
Bill Currie
152114f1cd works now, though I don't imagine save games will work too well :) 2001-07-18 17:59:16 +00:00
Bill Currie
10ad8bebbd Make files.dat actually useful. I really dislike the hardcoding, but it /is/
useful. Also, fix a bug in PrecacheModel where it was checking MAX_SOUNDS and
numsounds instead of models.
2001-07-18 17:23:42 +00:00
Bill Currie
c9af1575d3 fix emit_assign_expr to emit an explicit assignment statement whenever
emit_sub_expr returns a temporary def. this fixes a = b = c; expressions when
entities are involved.
2001-07-18 16:33:31 +00:00
Bill Currie
d6c2943ae3 defs.c:
use the right hash table
fix_globals.c:
	clean up the math
2001-07-18 15:42:08 +00:00
Bill Currie
9d50fea8e5 more tests 2001-07-18 06:37:59 +00:00
Bill Currie
098305d649 fix (expr_type1 && expr_type2). this involed type completing expressions :/ 2001-07-18 06:37:14 +00:00
Jeff Teunissen
ed0d1d8ba8 *** empty log message *** 2001-07-18 05:09:37 +00:00
Bill Currie
f2731a7314 add cse opts 2001-07-18 02:08:32 +00:00
Bill Currie
c298d4919c actually do some fixups, but it segs atm :/ 2001-07-18 00:26:14 +00:00
Bill Currie
36af2c6078 check for missing defs (and use the new quakefs subversion mechanism) 2001-07-17 22:15:41 +00:00
Jeff Teunissen
3e1bbd47df Add a TODO file for qfcc 2001-07-17 21:51:10 +00:00
Bill Currie
3488946bb5 slightly more interesting output while I procrastinate doing the hard bits 2001-07-17 20:33:17 +00:00
Bill Currie
c50793b54a beginnings of a progs re-deffer tool to take care of stupid qc compilers that
strip def names.
2001-07-17 20:05:57 +00:00
Jeff Teunissen
af366764de C preprocessor support for qfcc. Depends on the new parser. --enable-cpp
to activate.
2001-07-17 05:02:34 +00:00
Bill Currie
5d5d3f1416 well, that explains the loss of line number onfo on return statements :P 2001-07-16 03:53:45 +00:00
Bill Currie
c749bc77be add *.sym 2001-07-15 02:58:22 +00:00
Bill Currie
cb80800732 fix debug line numbers for if and while. still `losing' them for return for
some reason.
2001-07-15 01:51:01 +00:00
Bill Currie
a0ba8e534c s/IMMEDIATE/.imm/ for name of immediate defs. the latter is both shorter and
impossible to generate from qc
2001-07-15 01:50:10 +00:00
Bill Currie
9fa7ecd14d line number tests for while 2001-07-15 01:49:24 +00:00
Bill Currie
6e06ecc461 debug testing 2001-07-14 23:52:56 +00:00
Bill Currie
2818d720c2 move the full info opcocde table from qfcc to gamecode (<KURGON>There can be
only one!</KURGON>:) and use the table in PR_PrintStatement. This means that
qfcc now links against libQFgamecode as well as libQFutil
2001-07-14 02:34:16 +00:00
Bill Currie
ae9ee57666 change the type of opcode->type to etype_t, clean up the resulting mess, and
rename all of the opcodes to (eg) mul.f instead of MUL_F
2001-07-14 01:52:05 +00:00
Bill Currie
6c91ee29f0 fix a missed debug test 2001-07-14 01:47:45 +00:00
Bill Currie
7acbb3a0ea helps if I remember this :/ 2001-07-14 01:16:07 +00:00
Bill Currie
64e50e1ebd Basic debug info generation, just line numbers and local defs for each
function.
2001-07-14 01:15:40 +00:00
Bill Currie
eae97539c2 beginnings of debug info for progs 2001-07-13 06:08:50 +00:00
Bill Currie
7fce7e53ff more test (need to find a way to do automated tests, I think) 2001-07-12 23:11:40 +00:00
Bill Currie
8bbef35197 fix `a = b = b + c;' (probably d + c, too). Caused by forgetting to emit
an assignment for `a ='.
2001-07-12 18:56:43 +00:00
Bill Currie
ecff96258f cmd.[ch]:
api change: Cmd_Args () now takes a parameter inidcating which arg to
	start at for grabbing the un-parsed command line
qw/source/sv_ccmds.c:
	implement kk's tell command and user name matching (though # is used for
	the wildcard and it's still case sensitive)
everything else:
	adjust for the new Cmd_Args protype
2001-07-10 18:25:54 +00:00
Bill Currie
8000c86e35 /much/ better type mismatch error reporting
eg:
./main.qc:55: type mismatch: float == entity
2001-07-09 18:17:04 +00:00
Bill Currie
43ba9affaa remove the gcc 2.96 test 2001-07-09 17:12:09 +00:00
Bill Currie
f6575ca262 more testing 2001-07-07 02:38:40 +00:00
Bill Currie
1db6225ae7 make - - - - -2 work 2001-07-06 04:54:08 +00:00
Bill Currie
4673d701c9 fix the conflicts caused by -ve constants 2001-07-06 04:29:12 +00:00
Jeff Teunissen
35f5118803 warning/error message cleanups. Well, at least *I* think they make more
sense. :)
2001-07-06 02:43:39 +00:00
Jeff Teunissen
605df6ebb6 Change the bashism $() back to `` 2001-07-05 21:15:08 +00:00
Bill Currie
b1f264b203 using qfpreqcc is now vewy vewy qwiet ('e's 'unting wabbits) 2001-07-03 21:17:02 +00:00
Bill Currie
05db0ed9d0 more format attributes 2001-07-03 20:56:01 +00:00
Bill Currie
1edf1e0b39 format checking for error and warning + needed fixes
try to give name of object when calling non-function
2001-07-03 20:53:49 +00:00
Bill Currie
ccc00b0608 fix segs on ondeclared identifiers 2001-07-03 20:42:07 +00:00
Bill Currie
8f04a482f0 #include foo/bar.qc now works 2001-06-29 16:14:47 +00:00
Bill Currie
1e6fc51421 time to enable the new parser by default. 2001-06-29 00:12:11 +00:00
Bill Currie
5a019e9321 don't need to print statement addresses any more 2001-06-29 00:05:34 +00:00
Bill Currie
f2bb7ace41 add an option (--warn=error) to treat warnings as errors 2001-06-28 23:15:10 +00:00
Bill Currie
9c2398d923 stop processing files after errors have occured 2001-06-28 23:08:52 +00:00
Bill Currie
6dfee9968b /much/ better error handling 2001-06-28 21:26:40 +00:00
Bill Currie
eef9e8e2dc be more accurate about the operator involved 2001-06-28 17:44:50 +00:00
Bill Currie
0271afbb10 warn about the dangers of (!foo & bar) 2001-06-28 15:20:31 +00:00
Bill Currie
01a9372add fix the corrupted locals problem (df->locals was getting set too early) 2001-06-28 02:58:45 +00:00