Commit graph

750 commits

Author SHA1 Message Date
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
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