Commit Graph

838 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 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