Commit graph

329 commits

Author SHA1 Message Date
Bill Currie
7f47447492 getting closer to emiting ObjQC code 2002-05-08 21:24:24 +00:00
Bill Currie
de86019d4b reverse the param order before building the function type and type check
varargs functions with specified params.
2002-05-08 17:33:28 +00:00
Bill Currie
b03bfa7a6e start working on the code generation for the Obj stuff 2002-05-08 05:55:57 +00:00
Bill Currie
b226d24b52 rework the param parsing to make selectors easier to handle 2002-05-08 05:15:19 +00:00
Bill Currie
d5b637ae06 first stab at implementing ObjC like features. The parser doesn't generate
any code for the new features yet (I need to learn more about how objc
/works/) but nothing seems to have been broken.
2002-05-07 16:55:54 +00:00
Bill Currie
54fb180fad expr.h:
__attribute__((const)) has rather nasty results when it's not true
expr.c:
	fix up some mis-timed ex_error checks
2002-05-02 05:03:57 +00:00
Bill Currie
05788e55e5 don't generate useless expression warnings when that expression was caused
by an error
2002-05-01 22:08:59 +00:00
Bill Currie
067359b39d d'oh, missed a ; 2002-05-01 21:42:29 +00:00
Bill Currie
962dc8e46e rewrite the type and def parsing to allow more flexible types 2002-05-01 21:35:39 +00:00
Bill Currie
4725a44098 print out field types correctly 2002-05-01 21:33:59 +00:00
Bill Currie
98fea9ff55 remove some debug code and fix some missing ;s 2002-04-27 02:51:00 +00:00
Bill Currie
fc6fb804d7 support all but \b, \< and \> of qccx' character escapes. 2002-04-26 22:23:28 +00:00
Bill Currie
1f468e2508 fix a silly parse snafu 2002-04-26 21:49:35 +00:00
Bill Currie
aa006ecf64 qfcc now supports implicit string constant concatentation. 2002-04-26 21:42:50 +00:00
Bill Currie
4f7245d634 allow type (parm, parm, ...) to compile (the parms aren't type checked yet) 2002-04-26 21:28:06 +00:00
Bill Currie
313c82efef use dstring_new instead of dstring_newstr to avoid allocating memory that's
only going to be reallocated immediatly anyway.
2002-04-15 22:24:47 +00:00
Bill Currie
03ab75704f -p N or --strip-path N will strip up to N leading path elements for a
source file's path.
2002-04-10 19:52:48 +00:00
Bill Currie
c71ce480ad fix a seg when trying to print a null type 2002-04-09 21:37:46 +00:00
Bill Currie
b29c0d70b7 more signed char indeces 2002-04-07 05:44:34 +00:00
Bill Currie
0f198f118e %d and pid_t don't mix on solaris, so use %ld and cast to long 2002-04-07 05:40:27 +00:00
Bill Currie
655fe17e18 fix handling of pointers in function params and local vars for qc functions 2002-03-18 07:30:21 +00:00
Bill Currie
b97ac96204 fix the win32 side of pre-preocessing 2002-03-14 00:05:04 +00:00
Bill Currie
5a2538faaf dstring.[ch]:
create dsprintf and dvsprintf to do formated prints to dynamic strings.
rest
	Use the new functions :)
2002-03-08 23:11:42 +00:00
Bill Currie
d3870a1ec4 fix a missing dstring_adjust call (I guess I need to make a dsprintf:) 2002-03-08 20:56:22 +00:00
Bill Currie
de60a142ef break out the preprocessing code into a function so I can later preprocess
the progs.src file. also use snax's new dynamic strings for the tempname.
2002-03-07 18:36:48 +00:00
Bill Currie
860e3ebb1d make unsigned arrays/pointers more useful by allowing them to be used as
unbounded arrays
2002-02-24 01:11:34 +00:00
Bill Currie
80723fdec7 o don't ice when ex_name or ex_nil expressions show up in emit_expr.
instead, treat as useless epxression.
 o  mark rvalue expressions as such
 o  increment the users of a managed temp def when in an rvalue expr
2002-02-21 20:34:04 +00:00
Bill Currie
e38259e01f warn when a top-level local shadows a parameter 2002-02-19 00:16:56 +00:00
Bill Currie
d1fcfd1939 Implement --traditional so qfcc can be a nicer qcc. This disables several
keywords (quaternion integer function for break continue switch case default
NIL struct enum typedef) and converts some errors to warnings (assignment to
constants, insufficient function arguments, return; from non-void function,
anal function `pointer' type checks)
2002-02-18 06:23:59 +00:00
Bill Currie
b4000200e3 move the getopt files from qfcc/source to libs/util, link qw-master against
libQFutil and enable the option parsting in qw-master for win32.
2002-02-12 17:44:41 +00:00
Bill Currie
4f6e61d68b win32 compile fix 2002-02-05 22:56:21 +00:00
Bill Currie
16298914f0 default sourcedir to "" rather than "./" and strip leading paths from the
tempname when preserving temps
2002-02-05 22:08:19 +00:00
Bill Currie
cb0db8b8d1 disable debug putout and allow the cpp command line to be specified. 2002-02-05 19:35:45 +00:00
Bill Currie
f2a8f8ff28 make cpp command line selection more intelligent. This should take care of
the stuck cpp problem on openbsd.
2002-02-05 18:40:47 +00:00
Ragnvald Maartmann-Moe IV
a3c699a921 Fix three gitignores. 2002-01-31 07:49:29 +00:00
Bill Currie
ad6d847728 fix qfcc's incorrect allocation/initialization for pointers (eg, float [] foo) 2002-01-30 22:57:48 +00:00
Bill Currie
3d9c8a9a60 get nil conversions working fully and things like !pointer 2002-01-30 22:17:55 +00:00
Bill Currie
6a393d175e implement typedef 2002-01-23 20:50:25 +00:00
Bill Currie
3f958ae29b more make dist fixes 2002-01-22 18:04:03 +00:00
Bill Currie
8a24b28d97 scary, but the only changes qfcc needed to build as part of quakeforge was
to auto-substitued the libs and headers.

 o  unconditionally build qfcc (for now, anyway) when building quakeforge
    (needed for cs-code compilation)
 o  when built as part of quakeforge (qfcc should still be buildable
    independently) always enable cpp
 o  autoconfiscate the client-side code
 o  build the client-side code using the built qfcc
 o  install the client-side code in $(datadir)/quakeforge/id1
2002-01-22 05:48:03 +00:00
Bill Currie
f1f2dd713d generate progdefs.h only for v6only
generate files.dat only if -F or --files is given on the command line
2002-01-21 23:30:54 +00:00
Bill Currie
7775dab7bb remove debug 2002-01-21 19:19:07 +00:00
Bill Currie
f2d097c013 resolve the case value before checking its type 2002-01-21 19:18:41 +00:00
Bill Currie
2ce5a91373 allow enum {...} name; but ignore name (eases C <-> QC header compat) 2002-01-21 19:09:23 +00:00
Bill Currie
64c5983742 enum support 2002-01-21 19:03:29 +00:00
Bill Currie
cef918df83 get array initialisation worrking 2002-01-18 08:26:37 +00:00
Bill Currie
d69762facd integer() and float() casts seem to work 2002-01-17 19:32:04 +00:00
Bill Currie
08c1d57c53 fix a param scoping error 2002-01-17 16:59:00 +00:00
Bill Currie
7227ab4363 qfcc.c:
add -P,--progs-src so you can specify the name of the progs.src file
rest:
	add/use print_type
2002-01-17 08:19:53 +00:00
Jeff Teunissen
8c2d3f65c3 Add a couple symbols to qfcc's preprocessor lines 2002-01-05 19:18:27 +00:00