quakeforge/tools/qfcc/source
Bill Currie 22c67fc268 [qfcc] Use flow analysis for dealloc check
I decided that the check for whether control reaches the end of the
function without performing some necessary action (eg, invoking
[super dealoc] in a derived -dealoc) is conceptually the return
statement using a pseudo operand and the necessary action defining that
pseudo operand and thus is the same as checking for uninitialised
variables. Thus, add a pseudo operand type and use one to represent the
invocation of [super alloc], with a special function to call when the
"used" pseudo operand is "uninitialised".

While I currently don't know what else pseudo operands could be used
for, the system should be flexible enough to add any check.

Fixes #24
2021-12-25 17:04:26 +09:00
..
.indent.pro indent whitespace cleanup. not perfect, but a bit more consistent now 2001-12-06 19:49:40 +00:00
class.c [qfcc] Fix static function declarations 2021-09-24 19:49:55 +09:00
codespace.c [build] Move to non-recursive make 2020-06-25 11:35:37 +09:00
constfold.c [build] Move to non-recursive make 2020-06-25 11:35:37 +09:00
cpp.c Get QF cross-compiling using MXE/mingw32 2021-03-27 20:09:37 +09:00
dags.c [qfcc] Make operand union anonymous 2021-12-25 12:40:24 +09:00
debug.c [build] Move to non-recursive make 2020-06-25 11:35:37 +09:00
def.c [qfcc] Unalias types before checking for equality 2021-12-24 06:45:13 +09:00
defspace.c [qfcc] Clean up some excess includes 2020-08-17 14:36:08 +09:00
diagnostic.c [qfcc] Make internal_error const correct 2021-06-28 18:12:15 +09:00
disassemble.c [build] Move to non-recursive make 2020-06-25 11:35:37 +09:00
dot.c [build] Move to non-recursive make 2020-06-25 11:35:37 +09:00
dot_dag.c [qfcc] Keep track of reachable dag nodes 2021-06-29 09:41:03 +09:00
dot_expr.c [qfcc] Give select expressions their own type 2021-12-24 22:45:43 +09:00
dot_flow.c [util] Make va thread-safe 2021-01-31 16:05:48 +09:00
dot_sblock.c [qfcc] Add source line number to statement blocks 2021-07-06 18:06:47 +09:00
dot_type.c [util] Make va thread-safe 2021-01-31 16:05:48 +09:00
dump_globals.c [util] Make va thread-safe 2021-01-31 16:05:48 +09:00
dump_lines.c Get QF cross-compiling using MXE/mingw32 2021-03-27 20:09:37 +09:00
dump_modules.c [qfprogs] Dump class ivars when dumping modules 2021-06-04 14:59:15 +09:00
dump_strings.c Get QF cross-compiling using MXE/mingw32 2021-03-27 20:09:37 +09:00
emit.c [qfcc] Use flow analysis for dealloc check 2021-12-25 17:04:26 +09:00
expr.c [qfcc] Warn when super dealloc invocation is missing 2021-12-24 22:45:43 +09:00
expr_assign.c [qfcc] Give select expressions their own type 2021-12-24 22:45:43 +09:00
expr_binary.c [build] Move to non-recursive make 2020-06-25 11:35:37 +09:00
expr_bool.c [build] Move to non-recursive make 2020-06-25 11:35:37 +09:00
expr_compound.c [build] Move to non-recursive make 2020-06-25 11:35:37 +09:00
expr_obj.c [qfcc] Give select expressions their own type 2021-12-24 22:45:43 +09:00
flow.c [qfcc] Use flow analysis for dealloc check 2021-12-25 17:04:26 +09:00
function.c [qfcc] Fix static function declarations 2021-09-24 19:49:55 +09:00
grab.c [build] Move to non-recursive make 2020-06-25 11:35:37 +09:00
idstuff.c [build] Move to non-recursive make 2020-06-25 11:35:37 +09:00
linker.c Get QF cross-compiling using MXE/mingw32 2021-03-27 20:09:37 +09:00
Makemodule.am Get QF cross-compiling using MXE/mingw32 2021-03-27 20:09:37 +09:00
method.c [qfcc] Give select expressions their own type 2021-12-24 22:45:43 +09:00
obj_file.c Get QF cross-compiling using MXE/mingw32 2021-03-27 20:09:37 +09:00
obj_type.c [build] Move to non-recursive make 2020-06-25 11:35:37 +09:00
opcodes.c [build] Move to non-recursive make 2020-06-25 11:35:37 +09:00
options.c [util] Make va thread-safe 2021-01-31 16:05:48 +09:00
pragma.c [build] Move to non-recursive make 2020-06-25 11:35:37 +09:00
qc-lex.l [qfcc] Handle l and ll integer suffixes 2021-06-13 13:25:18 +09:00
qc-parse.y [qfcc] Fix static function declarations 2021-09-24 19:49:55 +09:00
qfcc.c [util] Make va thread-safe 2021-01-31 16:05:48 +09:00
qfpreqcc Better handling of progs.dat and line numbers. 2012-11-15 15:04:51 +09:00
qfprogs.c Merge master into csqc-improvements 2021-03-25 22:01:31 +09:00
qp-lex.l [build] Move to non-recursive make 2020-06-25 11:35:37 +09:00
qp-parse.y [qfcc] Fix static function declarations 2021-09-24 19:49:55 +09:00
reloc.c [build] Move to non-recursive make 2020-06-25 11:35:37 +09:00
shared.c [build] Move to non-recursive make 2020-06-25 11:35:37 +09:00
statements.c [qfcc] Use flow analysis for dealloc check 2021-12-25 17:04:26 +09:00
strpool.c [build] Move to non-recursive make 2020-06-25 11:35:37 +09:00
struct.c [util] Make va thread-safe 2021-01-31 16:05:48 +09:00
stub.c [qfcc] Make internal_error const correct 2021-06-28 18:12:15 +09:00
switch.c [build] Move to non-recursive make 2020-06-25 11:35:37 +09:00
symtab.c [build] Move to non-recursive make 2020-06-25 11:35:37 +09:00
type.c [qfcc] Unalias types before checking for equality 2021-12-24 06:45:13 +09:00
value.c [build] Move to non-recursive make 2020-06-25 11:35:37 +09:00