Bill Currie
385a90e8fb
correct pr_symtab_t to include the pointer to the array of selectors used
...
in the module. Unfortunatly, this requires a version bump on both qfo and
progs files due to the changes structure layout.
2003-08-23 06:15:19 +00:00
Bill Currie
b38486d405
make rel_def_op work properly
2003-08-22 19:48:14 +00:00
Bill Currie
e9ca03416a
create the temp def for bound defs properly
2003-08-22 18:16:30 +00:00
Bill Currie
d20b8bf0c1
pass NIL though ... safely
2003-08-22 06:04:31 +00:00
Bill Currie
303287dc11
don't seg on undefined vars
2003-08-22 05:48:19 +00:00
Bill Currie
204243fe95
better message type checking
2003-08-22 05:26:47 +00:00
Bill Currie
febc57e71b
typecheck message params when possible
2003-08-22 04:08:33 +00:00
Bill Currie
7d09105740
remove debug code
2003-08-21 02:24:11 +00:00
Bill Currie
11c7c27f70
better relocations: pointers to structure members now work
2003-08-21 02:21:30 +00:00
Bill Currie
a2300387de
fix a bunch of segfaults
2003-08-20 22:36:02 +00:00
Bill Currie
93cafe878a
convert NIL properly in function calls
2003-08-20 20:28:28 +00:00
Bill Currie
7d830ffc1f
make @defs work properly and don't do uninitialized checks on structs
2003-08-20 19:58:41 +00:00
Bill Currie
aa712c0169
make [super foo] work in category methods
2003-08-18 06:11:41 +00:00
Bill Currie
aa4f81b6da
class.c:
...
whitespace
switch.c:
set up the relocations for the switch jump table properly
2003-08-18 02:57:21 +00:00
Bill Currie
515dbaccc0
make qc-lex.c and qc-parse.[ch] part of the distribution (two less
...
requirements for the average user)
2003-08-12 18:22:11 +00:00
Bill Currie
4a680bf981
grovel around for the source file and line of an undefined def to give
...
better diagnostics
2003-08-06 21:36:07 +00:00
Bill Currie
448b6f24be
make the useless expression warning more interesting
2003-08-05 21:41:48 +00:00
Bill Currie
329c91fce4
expr.c:
...
qcc actually had the precedence of "!x && y" correct, so don't invert
the logic for it in traditional code.
qfcc.c:
allow the .debug_file def to be emitted in traditional mode.
2003-08-05 17:48:16 +00:00
Bill Currie
3e3b316891
blah, double ;
2003-08-01 21:26:36 +00:00
Bill Currie
dd9ab1e050
get unsigned mostly working
2003-08-01 21:20:04 +00:00
Bill Currie
8e21ecd4d9
make private methods work properly and put overided methods into the
...
correct class
2003-08-01 16:24:44 +00:00
Bill Currie
1b5bf9d176
make methods showing up only in the implementation work when overiding an
...
inherited method
2003-08-01 05:08:15 +00:00
Bill Currie
24f4bcfebf
initialize the new field properly
2003-08-01 02:43:51 +00:00
Bill Currie
0361cb261f
fix an incorrect inherited attribute access caused by my "no ivars" fix
...
(part of the struct re-work)
2003-08-01 02:43:11 +00:00
Bill Currie
ae8e7553ce
fix struct parsing and printing
2003-07-31 06:17:49 +00:00
Bill Currie
9f0d4cc746
must use save_string when source of string is unknown :P
2003-07-31 06:14:26 +00:00
Bill Currie
cc0d8b364d
fix a couple "value computed is not used" not used warnings
2003-07-31 02:16:26 +00:00
Bill Currie
ab94498503
heh, that was a symptom. forget &void :)
2003-07-30 21:55:32 +00:00
Bill Currie
8099f0d8f2
handle addresses of void defs
2003-07-30 20:57:50 +00:00
Bill Currie
e957dc798f
oops, initialize type_param properly (D'OH:)
2003-07-30 17:59:34 +00:00
Bill Currie
6ecb707257
revamp the struct system so "struct foo;" does the right thing (ala C)
2003-07-30 04:11:45 +00:00
Jeff Teunissen
5c1875ba28
Update the interface-check warning to be more descriptive.
2003-07-29 18:53:13 +00:00
Bill Currie
5e6b25c917
add interface-check warning option. defaults off
2003-07-29 18:31:12 +00:00
Bill Currie
5b9b11241b
make method lookup work with id
2003-07-29 17:38:29 +00:00
Bill Currie
8966b0a533
get -/+ into selector name for "does not respond to" warning.
2003-07-27 19:47:14 +00:00
Bill Currie
f0c5a374d2
get selector naming (and method name mangline) right
2003-07-27 19:13:13 +00:00
Bill Currie
411bddb0d8
whitespace
2003-07-27 18:50:17 +00:00
Jeff Teunissen
c9858f4f65
Preliminary "unsigned" support for qfcc and the gamecode engine. Should still
...
be compatible.
2003-07-26 21:07:51 +00:00
Bill Currie
1366ad4661
fix <protocol_list>
2003-07-25 20:34:24 +00:00
Bill Currie
34df024e34
make sure protocol_hash exists
2003-07-24 19:41:59 +00:00
Bill Currie
5962900e25
allow rel_def_op relocs to point just past the end of the code. needed for
...
jump tables.
2003-07-24 17:51:24 +00:00
Bill Currie
378c477b8e
setup vector fields properly
2003-07-23 18:40:09 +00:00
Bill Currie
778cd78c35
fix some namespace issues with names both being a field and an ivar
2003-07-23 18:28:31 +00:00
Bill Currie
37f660801b
QNX's printf doesn't like null pointers
2003-07-17 20:04:07 +00:00
Bill Currie
9bd839e309
correct a couple of typos
2003-05-15 18:55:57 +00:00
Bill Currie
a2243e8936
update the --help docs with all the options
2003-05-15 17:48:59 +00:00
Bill Currie
dedb2fa6bf
get [super ...] working correctly
2003-05-15 05:58:31 +00:00
Bill Currie
bfaa07c726
better type mismatch error reporting
2003-05-15 05:19:05 +00:00
Bill Currie
5fac3e6f3a
fix a buffer underflow
2003-05-15 05:10:28 +00:00
Bill Currie
094c9c5cdb
make derefencing a pointer without an offset more efficient
2003-05-13 19:49:23 +00:00
Bill Currie
f59f766af1
use the correct type when taking the address of a pointer derefernece
2003-05-13 19:42:14 +00:00
Bill Currie
1ea1a2f529
don't bother checking access restrictions in class_ivar_expr as
...
class_find_ivar will catch them when the generated self.ivar is `parsed'.
2003-05-13 01:30:01 +00:00
Bill Currie
0ebf9d6afc
more inline avoidance
2003-05-07 15:00:17 +00:00
Bill Currie
6fb5acc868
more auto-inline avoidance
2003-05-07 02:45:17 +00:00
Bill Currie
b6b5089ccc
add a "nosave" flag to defs making it easier to make defs that don't get
...
saved automaticly
2003-04-25 17:00:22 +00:00
Bill Currie
19980964d7
don't create defs for the components of vector or quaternion defs
2003-04-23 19:50:16 +00:00
Bill Currie
8f4308c86a
get .param_size and .debug_file linked in properly
2003-04-23 18:25:09 +00:00
Bill Currie
57254e5d33
fix a double ;
2003-04-23 06:17:36 +00:00
Bill Currie
8b24578547
print the operator for the precedence notice properly
2003-04-23 01:56:44 +00:00
Bill Currie
f7d806e8d5
can now handle > vector sized parameters
2003-04-22 20:11:16 +00:00
Bill Currie
a21054fdfc
handle def aliases properly in emit_move_expr
2003-04-22 17:26:49 +00:00
Bill Currie
6a0b74ca10
detect type mismatches in method declarations and definitions
2003-04-22 15:48:39 +00:00
Bill Currie
2f6fc5d80c
general revamp so params and the return value use proper defs rather than
...
hardcoded locations. this will allow use of quaternions in the future.
2003-04-22 15:29:32 +00:00
Bill Currie
9a40bf2956
get the fix right
2003-04-17 00:25:55 +00:00
Bill Currie
5cb8429f04
bah, cleanup for flex versions :P
2003-04-17 00:14:13 +00:00
Bill Currie
eb099ae0d3
make qf gcc 3.3 clean
2003-04-17 00:01:48 +00:00
Bill Currie
7ca2aae6f0
fixes for latest flex
2003-04-16 19:41:52 +00:00
Bill Currie
a9fb183d19
fix another struct type parsing bug
2003-04-07 22:24:15 +00:00
Bill Currie
b7d7e7e87f
allow assignment from void pointer to any pointer type
2003-04-07 21:57:26 +00:00
Bill Currie
55eb6c3ab1
plug a memory leak
2003-04-07 18:30:47 +00:00
Bill Currie
66ff0cfd4d
fix some type parsing errors for structs and arrays
2003-04-07 18:17:43 +00:00
Bill Currie
ee821705cc
implement nested (and struct) block initializers
2003-04-07 17:44:18 +00:00
Bill Currie
87a31439e4
don't warn for ! precedence
2003-03-25 17:47:52 +00:00
Bill Currie
0550741fb9
catch ! == bogosity
2003-03-25 17:18:58 +00:00
Bill Currie
eb5f2137b4
don't create temp files when only preprocessing
2003-03-24 17:40:27 +00:00
Bill Currie
1e423b9645
make certain classes get referenced when inheriting from them
2003-03-13 19:16:45 +00:00
Bill Currie
6a79ee57c4
the correct fix for overzealous linking: preemptively turf unused externs
2003-03-13 03:18:34 +00:00
Bill Currie
bb1b7c481c
don't pull in a lib object file due to an /unused/ undefined def.
2003-03-13 01:50:49 +00:00
Bill Currie
15781b2f19
make vector.x work in classes work and don't give an uninitialized warning
...
for vec.x = 0;
2003-03-12 21:58:24 +00:00
Bill Currie
627c6f70f5
allow casting between function types
2003-03-10 21:23:05 +00:00
Bill Currie
e3ad60f142
add WildCode's error checking for win32 cpp handling
2003-03-10 21:00:48 +00:00
Bill Currie
6b20862865
disable some debug
2003-03-04 21:13:10 +00:00
Bill Currie
4de6a20856
fix a bug with \\ handling just before the end of a string constant
2003-03-04 17:03:49 +00:00
Bill Currie
1c774bc10c
remove some debug code :P
2003-03-03 21:10:29 +00:00
Bill Currie
4c5c711ff5
fix a nasty bug where immediates would get aliased. (eg, 2 and 1073741824).
2003-03-03 21:09:41 +00:00
Bill Currie
90752b33fe
make TYPE (void) NAME valid (no args)
2003-02-28 23:36:56 +00:00
Bill Currie
a45223da6c
d'oh, forgot about "default"
2003-02-28 05:18:49 +00:00
Bill Currie
ef762e21eb
allow initialized globals (since they're constant) to be used in most places
...
constants are required (switch, initializing globals, enums)
2003-02-28 04:54:07 +00:00
Bill Currie
05fb5fe08b
make syntax errors a little easier to understand
2003-02-25 07:48:12 +00:00
Bill Currie
2ba8e871f3
convert \ to / in paths in windows
2003-02-24 21:51:08 +00:00
Bill Currie
b928f94440
produce a warning if both @self and self are used in the same progs
2003-02-24 20:10:33 +00:00
Bill Currie
5a58c58e7a
don't initialize external defs. this broke source line/file tracking for
...
@extern defs in headers.
2003-02-24 19:13:56 +00:00
Bill Currie
5f75aa024a
don't relocate a null function constant
2003-02-24 15:33:57 +00:00
Bill Currie
44285ba5de
speed up qfo writing by about 12.5:1 (for large object files, anyway) by
...
making compression optional (compressed qfo files will still be handled
transparently)
2003-02-23 23:43:43 +00:00
Bill Currie
599ae15490
give the hash functions more unique names
2003-02-22 22:38:55 +00:00
Bill Currie
af44b129d6
don't store pointers to defs in the hash table as the defs can move around
...
due to realloc. can now link large progs
2003-02-21 22:31:40 +00:00
Bill Currie
132bd4ac8d
remove some incorrect comments
2003-02-21 22:30:49 +00:00
Bill Currie
2d766710b6
detect multiple initializations of globals
2003-01-29 22:29:37 +00:00
Bill Currie
761a7546dd
re-arrange things so __attribute__ and __builtin_expect are properly
...
autoconfiscated so rcsid will continue to work with gcc 3.3
2003-01-15 15:31:36 +00:00
Bill Currie
a4dfef63c3
make all files with rcsid include config.h
2003-01-14 20:18:29 +00:00