quakeforge/tools/qfcc/source
Bill Currie d1e83b9d48 [qfcc] Create a compound initializer expression type
This fixes the problem of using the return value of a function as an
element in a compound initializer. The cause of the problem is that
compound initializers were represented by block expressions, but
function calls are contained within block expressions, so def
initialization saw the block expression and thought it was a nested
compound initializer.

Technically, it was a bug in the nested element parsing code in that it
wasn't checking the result value of the block expression, but using a
whole new expression type makes things much cleaner and the work done
paves the way for labeled initializers and compound assignments.
2020-03-11 15:46:57 +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] Rework method ivar access 2020-03-05 18:45:47 +09:00
codespace.c Nuke the rcsid stuff. 2012-04-22 10:56:32 +09:00
constfold.c Generate default type expressions for folded booleans 2020-02-24 02:11:31 +09:00
cpp.c Replace system defines/includes with qfcc's 2020-02-19 02:35:09 +09:00
dags.c [qfcc] Add expression tracking to operands 2020-03-11 12:51:34 +09:00
debug.c Change the naming of ALLOC's free-list. 2013-03-08 22:16:31 +09:00
def.c [qfcc] Create a compound initializer expression type 2020-03-11 15:46:57 +09:00
defspace.c Implement aligned allocations 2020-02-15 23:49:12 +09:00
diagnostic.c Fix incorrect usage of signed verbosity 2020-02-26 17:15:52 +09:00
disassemble.c Dump operand contents for verbosity > 1. 2012-12-12 16:21:33 +09:00
dot.c Number dot dumps to help identify order 2019-06-16 19:12:18 +09:00
dot_dag.c [qfcc] Add filename to dot output 2020-03-06 21:05:53 +09:00
dot_expr.c [qfcc] Add filename to dot output 2020-03-06 21:05:53 +09:00
dot_flow.c [qfcc] Add filename to dot output 2020-03-06 21:05:53 +09:00
dot_sblock.c [qfcc] Add filename to dot output 2020-03-06 21:05:53 +09:00
dump_globals.c [qfcc] Show offset for op_x_def_ofs relocs 2020-03-07 02:06:33 +09:00
dump_lines.c Move the debug info out of progs_t 2020-02-25 20:07:29 +09:00
dump_modules.c [qfcc] Emit static instance lists 2020-03-02 10:48:51 +09:00
dump_strings.c [qfcc] Emit static instance lists 2020-03-02 10:48:51 +09:00
emit.c Make operand->type actual type instead of low-level 2019-06-17 23:38:34 +09:00
expr.c [qfcc] Create a compound initializer expression type 2020-03-11 15:46:57 +09:00
expr_assign.c [qfcc] Create a compound initializer expression type 2020-03-11 15:46:57 +09:00
expr_binary.c Allow non-short-circuited logic to work 2020-02-24 02:25:28 +09:00
expr_bool.c Improve code for short-circuited float logic 2020-02-24 02:14:44 +09:00
flow.c [qfcc] Add expression tracking to operands 2020-03-11 12:51:34 +09:00
function.c [qfcc] Add support for named labels in statements 2020-03-11 12:49:10 +09:00
grab.c Handle all modelgen commands. 2018-08-20 00:11:02 +09:00
idstuff.c [qfcc] Correct a typo 2020-03-01 17:28:51 +09:00
linker.c [qfcc] Fix another infinite loop in the linker 2020-03-03 13:39:24 +09:00
Makefile.am Move short-circuit boolean code to its own file 2020-02-24 01:20:24 +09:00
method.c [qfcc] Fix mangled method parameters 2020-03-06 17:37:58 +09:00
obj_file.c [qfcc] Remove type alias encoding 2020-03-01 16:13:18 +09:00
obj_type.c [qfcc] Remove type alias encoding 2020-03-01 16:13:18 +09:00
opcodes.c Make pr_obcode.c mostly thread safe 2020-02-26 01:20:28 +09:00
options.c [qfcc] Add option to promote of float through ... 2020-03-08 19:13:57 +09:00
pragma.c Allow pragmas to have arguments 2020-02-15 23:49:12 +09:00
problem_with_nil.txt Document some problems with nil 2019-06-09 22:29:51 +09:00
qc-lex.l [qfcc] Implement goto 2020-03-11 12:53:40 +09:00
qc-parse.y [qfcc] Create a compound initializer expression type 2020-03-11 15:46:57 +09:00
qfcc.c [qfcc] Add option to promote of float through ... 2020-03-08 19:13:57 +09:00
qfpreqcc Better handling of progs.dat and line numbers. 2012-11-15 15:04:51 +09:00
qfprogs.c Make a bunch of count things positive-only 2020-02-25 21:23:13 +09:00
qp-lex.l Do a pure/const/noreturn/format attribute pass. 2018-10-09 12:42:21 +09:00
qp-parse.y Clean up redundant type parameter to initialize_def. 2018-10-15 22:11:20 +09:00
reloc.c [qfcc] Make reloc functions const-correct 2020-03-05 11:03:23 +09:00
shared.c Rename the storage_class_t enum values. 2012-12-02 10:11:30 +09:00
statements.c [qfcc] Warn about unused labels 2020-03-11 13:33:06 +09:00
strpool.c Add support for \? to qc strings. 2018-08-19 19:31:52 +09:00
struct.c [qfcc] Rework method ivar access 2020-03-05 18:45:47 +09:00
stub.c Encode function parameter alignment 2020-02-16 17:10:43 +09:00
switch.c Make binary_expr fold constants 2019-06-10 00:36:13 +09:00
symtab.c [qfcc] Rework method ivar access 2020-03-05 18:45:47 +09:00
type.c [qfcc] Remove type alias encoding 2020-03-01 16:13:18 +09:00
value.c [qfcc] Use full type for differentiating values 2020-03-06 20:33:47 +09:00