quakeforge/tools/qfcc/include
Bill Currie 1ce026d168 [qfcc] Implement bounced return pointer calls
This is achieved by marking a void function with the void_return
attribute and then calling that function in an @return expression.
@return can be used only inside a void function and only with void
functions marked with the void_return attribute. As this is intended for
Objective-QC message forwarding, it is deliberately "difficult" to use
as returning a larger than expected value is unlikely to end well for
the calling function.

However, as a convenience, "@return nil" is allowed (in a void
function). It always returns an integer (which, of course,can be
interpreted as a pointer). This is safe because if the return value is
ignored, it will go into the progs return buffer, and if it is not
ignored, it is the smallest value that can be returned.
2022-02-05 19:30:08 +09:00
..
attribute.h [qfcc] Add a very basic attribute system 2022-02-02 23:51:37 +09:00
class.h [qfcc] Fix a missed address expression conversion 2022-01-20 00:42:29 +09:00
codespace.h Nuke the rcsid stuff. 2012-04-22 10:56:32 +09:00
cpp.h Replace system defines/includes with qfcc's 2020-02-19 02:35:09 +09:00
dags.h [gamecode] Move progs auxiliary headers into a subdirectory 2022-01-09 00:26:52 +09:00
debug.h [gamecode] Move progs auxiliary headers into a subdirectory 2022-01-09 00:26:52 +09:00
def.h [qfcc] Pass initialize_def the symtab to use as a parameter 2022-01-24 12:48:02 +09:00
defspace.h [qfcc] Make virtual defspaces useful for highwater allocation 2022-01-20 20:54:12 +09:00
diagnostic.h [gamecode] Move progs auxiliary headers into a subdirectory 2022-01-09 00:26:52 +09:00
dot.h Create a function to generalize dot dumping. 2012-11-15 13:44:08 +09:00
emit.h Nuke the rcsid stuff. 2012-04-22 10:56:32 +09:00
expr.h [qfcc] Implement bounced return pointer calls 2022-02-05 19:30:08 +09:00
expr_names.h [qfcc] Add support for horizontal vector ops 2022-01-30 10:56:15 +09:00
flow.h [qfcc] Increase flow operand count to 5 2020-03-17 21:24:12 +09:00
function.h [qfcc] Update sizes and alignments for dvec4 and friends 2022-02-04 08:46:58 +09:00
grab.h Merge branch 'qfcc-cse' 2012-12-13 20:17:28 +09:00
idstuff.h [gamecode] Move progs auxiliary headers into a subdirectory 2022-01-09 00:26:52 +09:00
linker.h Make linker_add_def take a pointer for the value. 2012-11-14 13:12:58 +09:00
Makemodule.am [qfcc] Add a very basic attribute system 2022-02-02 23:51:37 +09:00
method.h [qfcc] Fix protocol adorned id as message receiver 2020-03-16 10:42:18 +09:00
obj_file.h [qfcc] Use locals and params_start to describe stack frame 2022-01-27 11:37:37 +09:00
obj_type.h [gamecode] Move progs auxiliary headers into a subdirectory 2022-01-09 00:26:52 +09:00
opcodes.h [qfcc] Dump emitted statements when verbosity >= 2 2022-01-20 13:08:05 +09:00
options.h [qfcc] Add --ruamoko command line option and pragma 2022-02-04 09:27:07 +09:00
pragma.h Allow pragmas to have arguments 2020-02-15 23:49:12 +09:00
qfcc.h [gamecode] Rename ev_integer to ev_int 2022-01-18 13:27:19 +09:00
qfprogs.h Fix qfo strings dumping 2020-02-23 15:08:31 +09:00
reloc.h [gamecode] Clean up string_t and pointer_t 2022-01-18 12:11:14 +09:00
shared.h Merge qfpc into qfcc. 2012-10-26 16:01:41 +09:00
statements.h [qfcc] Give lea its own statement type 2022-02-02 18:55:01 +09:00
strpool.h [qfcc] Add function to see if a string is in a pool 2020-04-03 14:22:44 +09:00
struct.h [qfcc] Take optional space param for emit_structure 2020-04-03 14:16:16 +09:00
switch.h Nuke the rcsid stuff. 2012-04-22 10:56:32 +09:00
symtab.h [qfcc] Rework method ivar access 2020-03-05 18:45:47 +09:00
type.h [qfcc] Implement bounced return pointer calls 2022-02-05 19:30:08 +09:00
value.h [gamecode] Rename ev_integer to ev_int 2022-01-18 13:27:19 +09:00
vec_types.h [qfcc] Implement some basics for the vector types 2022-02-04 00:25:31 +09:00