quakeforge/tools/qfcc/source
Bill Currie 7701393bd4 Append a new sblock for return when necessary.
If the final block ends in a conditional statement, appending return to the
block will hide the conditional statement from the flow analyzer. This may
cause the conditional statement's destination node be become unreachable
according to the analyzer and thus eliminated. The label for the branch
then loses its target sblock and thus the code generator will produce a
zero-distance jump resulting in an infinite loop.

Thus, if the final block ends in a conditional statement (or, for
completeness, a call statement), append a new empty block before adding the
return statement.
2012-12-21 20:11:27 +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 Implement protocol checking in categories. 2012-12-20 13:42:19 +09:00
codespace.c Nuke the rcsid stuff. 2012-04-22 10:56:32 +09:00
constfold.c Fix constant folding for vectors and quaternions with floats. 2012-12-14 12:48:09 +09:00
cpp.c Fall back to execve/wait when execvp and waitpid are unavailable. 2012-08-19 13:18:38 +09:00
dags.c Rename set_iter_t's value to element. 2012-12-21 14:09:00 +09:00
debug.c Move set.c into libQFutil. 2012-12-06 20:52:53 +09:00
def.c Move the rest of the obj specific stuff into class.c. 2012-12-20 10:10:41 +09:00
defspace.c Move set.c into libQFutil. 2012-12-06 20:52:53 +09:00
diagnostic.c Add a non-error diagnostic that can't be silenced. 2012-05-03 13:24:24 +09:00
disassemble.c Dump operand contents for verbosity > 1. 2012-12-12 16:21:33 +09:00
dot.c Create a function to generalize dot dumping. 2012-11-15 13:44:08 +09:00
dot_dag.c Rename set_iter_t's value to element. 2012-12-21 14:09:00 +09:00
dot_expr.c Be more clear about integral expression types. 2012-12-05 22:18:13 +09:00
dot_flow.c Rename set_iter_t's value to element. 2012-12-21 14:09:00 +09:00
dot_sblock.c Make it possible to dump statement blocks in a flow graph. 2012-12-11 11:31:55 +09:00
dump_globals.c Correct some spaces in the type dump output. 2012-12-13 13:33:13 +09:00
dump_lines.c Nuke the rcsid stuff. 2012-04-22 10:56:32 +09:00
dump_modules.c Make param/format specifier mapping easier to read. 2012-12-16 12:00:39 +09:00
dump_strings.c Nuke the rcsid stuff. 2012-04-22 10:56:32 +09:00
emit.c Fix an uninitialized warning from recent gcc. 2012-12-12 14:28:35 +09:00
expr.c Check the expression type when casting constants. 2012-12-21 17:12:41 +09:00
flow.c Rename set_iter_t's value to element. 2012-12-21 14:09:00 +09:00
function.c Catch omitted parameter names from function definitions. 2012-12-20 10:10:41 +09:00
grab.c Merge branch 'qfcc-cse' 2012-12-13 20:17:28 +09:00
idstuff.c Use dstring for progdefs.h writing. 2012-05-02 23:39:49 +09:00
linker.c Move set.c into libQFutil. 2012-12-06 20:52:53 +09:00
Makefile.am Move set.c into libQFutil. 2012-12-06 20:52:53 +09:00
method.c Do a little bit of cleanup. 2012-12-04 12:48:52 +09:00
obj_file.c Fix an ownership problem with line numbers in qfos. 2012-12-02 18:59:35 +09:00
obj_type.c Use the class name in type encodings. 2012-12-15 12:21:22 +09:00
opcodes.c Add some very evil pragmas. 2012-11-22 21:59:01 +09:00
options.c Merge branch 'qfcc-cse' 2012-12-13 20:17:28 +09:00
pragma.c Add some very evil pragmas. 2012-11-22 21:59:01 +09:00
qc-lex.l Rename CONST to VALUE. 2012-12-20 10:10:41 +09:00
qc-parse.y Fix mangling of types when attaching protocols. 2012-12-20 13:12:05 +09:00
qfcc.c Add .m to the list of recognized language extensions. 2012-12-20 10:10:41 +09:00
qfpreqcc Better handling of progs.dat and line numbers. 2012-11-15 15:04:51 +09:00
qfprogs.c Support progs.dat when dumping type encodings. 2012-11-15 11:58:13 +09:00
qp-lex.l Rename CONST to VALUE. 2012-12-20 10:10:41 +09:00
qp-parse.y Rename CONST to VALUE. 2012-12-20 10:10:41 +09:00
reloc.c Move set.c into libQFutil. 2012-12-06 20:52:53 +09:00
shared.c Rename the storage_class_t enum values. 2012-12-02 10:11:30 +09:00
statements.c Append a new sblock for return when necessary. 2012-12-21 20:11:27 +09:00
strpool.c Separate out C and html quoting into separate functions. 2012-10-30 12:31:22 +09:00
struct.c Do a little bit of cleanup. 2012-12-04 12:48:52 +09:00
stub.c Merge branch 'qfcc-cse' 2012-12-13 20:17:28 +09:00
switch.c Fix jumpb's operand types. 2012-12-05 22:20:55 +09:00
symtab.c Move set.c into libQFutil. 2012-12-06 20:52:53 +09:00
type.c Fix mangling of types when attaching protocols. 2012-12-20 13:12:05 +09:00
value.c Initialize the immediate before putting it in the hash table. 2012-12-21 13:17:07 +09:00