Bill Currie
|
1fc517f7db
|
C style functions can now (optionally) be used (void foo ();)
|
2004-02-11 00:36:34 +00:00 |
|
Bill Currie
|
e2602bc9d5
|
fix misparse of void () foo;
|
2004-02-10 23:49:45 +00:00 |
|
Bill Currie
|
7af8f8a6f6
|
; at the end of a function is no longer required. void () foo = {} and
void () foo = {}; are both valid now.
|
2004-02-10 23:20:44 +00:00 |
|
Bill Currie
|
6e4c6478a1
|
getting closer to optional ; at the end of functions. also gets rid of the
need for the context-sensitivity hack used for distinquishing frunction
inits from struct/array inits
|
2004-02-10 03:25:24 +00:00 |
|
Ragnvald Maartmann-Moe IV
|
2b8fc38a2c
|
Fix an ypo. ;)
|
2004-02-09 16:51:06 +00:00 |
|
Bill Currie
|
ddc44f33da
|
compress the 4 method building rules into 2
|
2004-02-09 07:35:19 +00:00 |
|
Bill Currie
|
3f27042e8d
|
forgot to look after current_storage with methods
|
2004-02-09 07:17:44 +00:00 |
|
Bill Currie
|
1181fb267b
|
don't seg when constants are involved in && or || expressions
|
2004-02-09 02:23:37 +00:00 |
|
Bill Currie
|
499dac6bb1
|
step one towards more flexible function declarations
|
2004-02-08 23:46:40 +00:00 |
|
Bill Currie
|
f70605f5f7
|
ensure a op= b treats b as if it was (b)
|
2004-02-08 05:28:30 +00:00 |
|
Bill Currie
|
bf592412f8
|
give temp defs a name, making it easier to read disassembly output (.tmpN)
|
2004-02-06 08:58:19 +00:00 |
|
Bill Currie
|
1d800caab7
|
make autoconvertion work for return
|
2004-02-06 08:40:28 +00:00 |
|
Chris Ison
|
6ec1cfe389
|
win32 fix for over-compliant getopt
|
2004-02-05 03:27:35 +00:00 |
|
Bill Currie
|
8a14e30896
|
cast block expressions
|
2004-02-04 06:41:07 +00:00 |
|
Bill Currie
|
d02b0686b1
|
don't seg if the method can't be found
|
2004-02-04 06:31:12 +00:00 |
|
Bill Currie
|
61da478188
|
these changes from earlier seem to be ok
|
2004-02-04 06:00:45 +00:00 |
|
Bill Currie
|
c43950abd8
|
autoconvert for function parameters now works :)
|
2004-02-04 05:49:54 +00:00 |
|
Bill Currie
|
892e80938b
|
that made a royal mess :(
|
2004-02-04 04:49:46 +00:00 |
|
Bill Currie
|
b2474a2b97
|
better auto-conversion of function parameters (ugh, this is getting messy
:( )
|
2004-02-04 04:33:08 +00:00 |
|
Bill Currie
|
f79e34628b
|
broke returning NIL
|
2004-02-04 02:30:18 +00:00 |
|
Bill Currie
|
ab4f0e7ca9
|
warn on return foo (); where foo returns void
|
2004-02-04 01:30:12 +00:00 |
|
Bill Currie
|
f748b6582a
|
need to do relocs separately from ddef creation due to pr_globals needing
to be allocated first
|
2004-02-04 00:36:15 +00:00 |
|
Bill Currie
|
e8a9060219
|
oops, messed up things like float = int
|
2004-02-04 00:30:42 +00:00 |
|
Bill Currie
|
3cd806fdcc
|
fix some over-conversions
|
2004-02-04 00:27:42 +00:00 |
|
Bill Currie
|
1068032f1b
|
make implementation methods not in the interface work properly when
-Winterface-check isn't specified and make sure classes don't clash with
defs or enums
|
2004-02-03 07:48:23 +00:00 |
|
Bill Currie
|
0f94dd95d2
|
make @class foo work when foo is already defined
|
2004-02-03 07:29:20 +00:00 |
|
Bill Currie
|
389ff5be1c
|
finally found the correct way to handle generated source
|
2004-02-03 05:30:11 +00:00 |
|
Bill Currie
|
4f9a24d94d
|
and another one
|
2004-02-03 03:38:51 +00:00 |
|
Bill Currie
|
9df4a7948e
|
make dist fixes
|
2004-02-03 03:22:48 +00:00 |
|
Bill Currie
|
c16fc91328
|
update with qfprogs
|
2004-02-03 02:40:00 +00:00 |
|
Bill Currie
|
24294c8778
|
make printing of global contents in PR_PrintStatement optional so
disassembly output is cleaner
|
2004-01-31 04:26:01 +00:00 |
|
Bill Currie
|
f05be31cae
|
fix for perc = itof (perc_val) / (100 / itof (size));
ie, better detection of function calls in binary expressions
|
2004-01-31 04:11:45 +00:00 |
|
Bill Currie
|
fb49b06c2c
|
remove debug info
|
2004-01-30 07:29:04 +00:00 |
|
Bill Currie
|
394e83e419
|
perform relocations so disassembly dumps of qfo files make sense
|
2004-01-30 07:17:28 +00:00 |
|
Bill Currie
|
16e4964a31
|
fix a couple struct forward ref issues
|
2004-01-30 07:16:48 +00:00 |
|
Bill Currie
|
f87a5d14e2
|
convert the debug info, too. seems to work
|
2004-01-30 05:35:30 +00:00 |
|
Bill Currie
|
a2e8080a03
|
init entity info
|
2004-01-29 08:22:59 +00:00 |
|
Bill Currie
|
2e87490f3b
|
pr_stringsize hasn't reflected static strings size for a while...
|
2004-01-29 08:11:04 +00:00 |
|
Bill Currie
|
206a15ef14
|
while not yet perfect, qfprogs now works with qfo files
|
2004-01-29 07:43:05 +00:00 |
|
Bill Currie
|
b2ccb50b81
|
move qfpreqcc in with qfcc for relationship reasons
|
2004-01-28 05:34:23 +00:00 |
|
Bill Currie
|
d3018dd79b
|
move qfprogs in with qfcc (it's going to need to share code)
|
2004-01-28 05:23:43 +00:00 |
|
Bill Currie
|
ba901863d2
|
fix a missing ;
|
2004-01-27 04:41:20 +00:00 |
|
Bill Currie
|
897b49140a
|
initialized locals are a little trickier...
|
2004-01-25 22:08:08 +00:00 |
|
Bill Currie
|
f8ed454547
|
warn on if (a = b)
|
2004-01-25 21:45:07 +00:00 |
|
Bill Currie
|
7423ee389d
|
better timing for constant folding
|
2004-01-25 21:36:44 +00:00 |
|
Bill Currie
|
39c7ff1e90
|
disable debug output
|
2004-01-25 08:59:55 +00:00 |
|
Bill Currie
|
51b0a66ac7
|
better constant folding with auto-conversion between scalar types (might
make that optional for non-constants)
|
2004-01-25 08:55:03 +00:00 |
|
Bill Currie
|
3e5a103e55
|
proper error checking when openning progs.src
|
2004-01-22 04:16:19 +00:00 |
|
Bill Currie
|
8f440c7911
|
linker.c:
I think I found the real reason doxygen gets confused
expr.c:
add a check for x & y == 2 (or similar) doesn't work for constant y at
the moment.
|
2004-01-22 01:04:48 +00:00 |
|
Bill Currie
|
2f21926568
|
more constant folding
|
2004-01-21 21:58:34 +00:00 |
|
Bill Currie
|
e63b205fd2
|
don't seg when in traditional mode and @ is seen
|
2004-01-21 21:43:31 +00:00 |
|
Bill Currie
|
1ddd7da5ec
|
remove redundant cast
|
2004-01-13 03:07:36 +00:00 |
|
Chris Ison
|
34f98e5a88
|
fix incompatable pointer type
|
2004-01-12 05:36:23 +00:00 |
|
Bill Currie
|
41106a1f01
|
hopefully shut doxygen up about a "const char" function
|
2004-01-11 05:52:19 +00:00 |
|
Bill Currie
|
802aacfaf4
|
allow constant expressions to be used for builtin numbers
|
2004-01-07 00:03:05 +00:00 |
|
Bill Currie
|
35d690c701
|
give an error message instead of segging for the following code:
@class foo;
@interface bar : foo
@end
|
2003-12-19 04:59:34 +00:00 |
|
Bill Currie
|
bb4e9de0db
|
fix a real oopsie with if (const)
|
2003-11-16 07:17:18 +00:00 |
|
Bill Currie
|
834ab26be5
|
remove some buggy debug code :P
|
2003-10-27 21:48:13 +00:00 |
|
Bill Currie
|
63414ea836
|
more gccisms in the error reporting (In function ...)
|
2003-10-25 04:35:47 +00:00 |
|
Bill Currie
|
58d0f188f1
|
recover from errors in bool expressions (ie, don't segfault)
|
2003-10-24 22:23:56 +00:00 |
|
Bill Currie
|
8e030089a7
|
only one define/undefine/include per option
|
2003-10-24 21:23:03 +00:00 |
|
Bill Currie
|
2469c36302
|
yay, short circuit logic done :)
|
2003-10-23 06:21:07 +00:00 |
|
Bill Currie
|
7ef80d1da2
|
mske sure .self and .this are defined in progs.src mode (ie, @self and
@this)
|
2003-10-22 21:49:47 +00:00 |
|
Bill Currie
|
c76282c668
|
fix bools in function calls
|
2003-10-22 16:49:57 +00:00 |
|
Bill Currie
|
5f97de56d1
|
fix a few bugs
|
2003-10-22 09:14:53 +00:00 |
|
Bill Currie
|
969dad87eb
|
fix a secfault in return_expr
|
2003-10-22 08:30:54 +00:00 |
|
Bill Currie
|
72ae59f882
|
short circuit logic can now be controlled (see man page)
|
2003-10-22 08:27:38 +00:00 |
|
Bill Currie
|
945006494f
|
short circuit logic for && and || (as per C). forces standard precedence
(ie, breaks --traditional) when enabled (no choice at the moment, next fix)
|
2003-10-22 08:05:17 +00:00 |
|
Bill Currie
|
99034fef27
|
initialized locals aren't constant
|
2003-09-25 02:05:43 +00:00 |
|
Bill Currie
|
4ce81b28d7
|
remove nested scopes for traditional mode
|
2003-09-23 17:59:46 +00:00 |
|
Bill Currie
|
91207c0180
|
make void functions actually return float in traditional mode (qcc allowed
things like foo = void_function)
|
2003-09-23 16:57:53 +00:00 |
|
Bill Currie
|
387464a27c
|
mangle precedence of = relative to && and || for --traditional (bletch).
also make noise when assigning to bad lvalues (eg !x = y)
|
2003-09-23 16:42:03 +00:00 |
|
Bill Currie
|
ba26628b80
|
--traditional now "fixes" (ie, breaks) operator precedence to match qcc
except for the relationship between "=" and "&&" and "||": not sure I want
to go that far towards bug compatability.
|
2003-09-22 22:15:31 +00:00 |
|
Bill Currie
|
9027648721
|
kill -t for --traditional, add --advanced, default to --traditional for
progs.src mode and --advanced otherwise
|
2003-09-20 04:13:32 +00:00 |
|
Bill Currie
|
651fa8ca12
|
correct the operator precendece to match C. hopefully won't cause any
problems :)
|
2003-09-19 20:50:05 +00:00 |
|
Bill Currie
|
11538d4745
|
access arrays in structs more efficiently (especially when using constant
indeces)
|
2003-09-02 17:41:16 +00:00 |
|
Bill Currie
|
f10829206a
|
use a cast expression rather than and bind expression to do the unsigned
comparison for switches. clears the notice (bind seems to be correct in
general) and is more correct conceptually anyway.
|
2003-09-02 16:53:45 +00:00 |
|
Bill Currie
|
23b525059f
|
cast between integer and unsigned just by changing access method
effectively deprecating conv.ui and conv.iu (they'll die eventually:)
|
2003-09-02 16:45:36 +00:00 |
|
Bill Currie
|
3a6c8b8b16
|
wrong place to decrement uses. now have a problem in switch :/
|
2003-09-02 06:23:57 +00:00 |
|
Bill Currie
|
ef4ca0c798
|
some doxygen tweaks
|
2003-08-31 05:24:24 +00:00 |
|
Bill Currie
|
b01d4d4589
|
get the type for the destination from the right place (hope that wasn't
a bugfix for something else:)
|
2003-08-24 20:38:32 +00:00 |
|
Bill Currie
|
7cffeb27bf
|
correct the temp def counting when casting
|
2003-08-24 08:17:31 +00:00 |
|
Bill Currie
|
6086aa2b99
|
allow casts between pointers and integers
|
2003-08-24 08:03:25 +00:00 |
|
Bill Currie
|
a08efafb7a
|
make sure __VERSION6__ is defined when it should be
|
2003-08-24 07:26:02 +00:00 |
|
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 |
|