]>
git.rm.cloudns.org Git - xonotic/gmqcc.git/log
Wolfgang (Blub) Bumiller [Sun, 25 Nov 2012 20:40:26 +0000 (21:40 +0100)]
Support codegen of ast_label and ast_goto in any order
Wolfgang (Blub) Bumiller [Sun, 25 Nov 2012 20:27:14 +0000 (21:27 +0100)]
ast_label, and labels later used for goto
Wolfgang (Blub) Bumiller [Sun, 25 Nov 2012 20:10:43 +0000 (21:10 +0100)]
temporarily disable the 'constant' flag when parsing the initializer to avoid the 'assigning to constant' error in a block-local constant
Wolfgang (Blub) Bumiller [Sun, 25 Nov 2012 20:08:30 +0000 (21:08 +0100)]
Allow 'const' within function bodies
Wolfgang (Blub) Bumiller [Sun, 25 Nov 2012 20:07:03 +0000 (21:07 +0100)]
Fix linecounting mistake in try_digraph
Wolfgang (Blub) Bumiller [Sun, 25 Nov 2012 19:48:06 +0000 (20:48 +0100)]
Set the output to NULL always before parsing stuff
Wolfgang (Blub) Bumiller [Sun, 25 Nov 2012 19:29:12 +0000 (20:29 +0100)]
fix wrong parameter order in parse_variable calls, dammit I hate how 'bool' and 'int' are implicitly convertible here
Wolfgang (Blub) Bumiller [Sun, 25 Nov 2012 19:25:39 +0000 (20:25 +0100)]
more on CV_CONST/CV_VAR, initializers to check 'constant' not just 'hasvalue'
Wolfgang (Blub) Bumiller [Sun, 25 Nov 2012 19:22:47 +0000 (20:22 +0100)]
const/variable qualifier flag for parse_variable
Wolfgang (Blub) Bumiller [Sun, 25 Nov 2012 19:18:40 +0000 (20:18 +0100)]
Allow dangling semicolons for now
Wolfgang (Blub) Bumiller [Sun, 25 Nov 2012 18:44:21 +0000 (19:44 +0100)]
a '(void)' parameter list does not mean 1 parameter of type void, but empty... xonotic needs this
Wolfgang (Blub) Bumiller [Sun, 25 Nov 2012 18:42:16 +0000 (19:42 +0100)]
fixed: -frelaxed-switch check was in the wrong position
Wolfgang (Blub) Bumiller [Sun, 25 Nov 2012 18:37:31 +0000 (19:37 +0100)]
assignment to constant error
Wolfgang (Blub) Bumiller [Sun, 25 Nov 2012 18:35:00 +0000 (19:35 +0100)]
constant flag, -finitialized-nonconstants to turn initialized globals into mutable variables
Wolfgang (Blub) Bumiller [Sun, 25 Nov 2012 18:30:10 +0000 (19:30 +0100)]
ast: isconst->hasvalue, const keyword will set the const flag
Wolfgang (Blub) Bumiller [Sun, 25 Nov 2012 18:20:00 +0000 (19:20 +0100)]
Parse the 'not' keyword in if as TOKEN_IDENT
Wolfgang (Blub) Bumiller [Sun, 25 Nov 2012 18:19:36 +0000 (19:19 +0100)]
Some side-effect propagation for better warnings, so that comma-operators with assignments in them don't cause the -Weffectless-statement warning, and fixing ternary precedence for fte operator list
Wolfgang (Blub) Bumiller [Sun, 25 Nov 2012 17:56:22 +0000 (18:56 +0100)]
Allow regular AND used on non-float types
Wolfgang (Blub) Bumiller [Sun, 25 Nov 2012 17:38:04 +0000 (18:38 +0100)]
Allow strings to contain a backslash and a newline at the end
Wolfgang (Blub) Bumiller [Sun, 25 Nov 2012 17:25:01 +0000 (18:25 +0100)]
Guard translatable strings by -ftranslatable-strings, defaults to ON with -std=fteqcc
Wolfgang (Blub) Bumiller [Sun, 25 Nov 2012 17:23:48 +0000 (18:23 +0100)]
update noops flag while parsing a translatable string
Wolfgang (Blub) Bumiller [Sun, 25 Nov 2012 17:22:00 +0000 (18:22 +0100)]
Translatable string constants
Wolfgang (Blub) Bumiller [Sun, 25 Nov 2012 17:17:08 +0000 (18:17 +0100)]
parser_const_string can now create a translatable string
Wolfgang (Blub) Bumiller [Sun, 25 Nov 2012 17:13:46 +0000 (18:13 +0100)]
linecounting fix for push/pop(line) pragmas
Wolfgang (Blub) Bumiller [Sun, 25 Nov 2012 17:07:19 +0000 (18:07 +0100)]
Let's not have + and - as sole token, always allow ++ and -- to become operators independent of the noops flag
Wolfgang (Blub) Bumiller [Sun, 25 Nov 2012 17:02:54 +0000 (18:02 +0100)]
linecounting...
Wolfgang (Blub) Bumiller [Sun, 25 Nov 2012 16:50:31 +0000 (17:50 +0100)]
linecounting issue in the lexer
Wolfgang (Blub) Bumiller [Sun, 25 Nov 2012 16:43:24 +0000 (17:43 +0100)]
Fix a bug in the lexer causing double-dots to double the character after the 2nd dot
Wolfgang (Blub) Bumiller [Sun, 25 Nov 2012 16:43:13 +0000 (17:43 +0100)]
Fix parsing of multi-dot field types
Wolfgang (Blub) Bumiller [Sun, 25 Nov 2012 16:37:54 +0000 (17:37 +0100)]
multiple dots to start a field type, ie ..float for a fieldpointer field
Wolfgang (Blub) Bumiller [Sun, 25 Nov 2012 15:20:22 +0000 (16:20 +0100)]
moving cleanvar=false out of a condition
Wolfgang (Blub) Bumiller [Sun, 25 Nov 2012 15:08:41 +0000 (16:08 +0100)]
linecounting issues in the ftepp
Wolfgang (Blub) Bumiller [Sun, 25 Nov 2012 14:58:10 +0000 (15:58 +0100)]
a more verbose error
Wolfgang (Blub) Bumiller [Sun, 25 Nov 2012 14:56:13 +0000 (15:56 +0100)]
-Wconst-var
Wolfgang (Blub) Bumiller [Sun, 25 Nov 2012 14:39:49 +0000 (15:39 +0100)]
Fixing propogate->propAgate typo in test.c
Wolfgang (Blub) Bumiller [Sun, 25 Nov 2012 14:36:20 +0000 (15:36 +0100)]
s/succeed/succeeded/
Wolfgang (Blub) Bumiller [Sun, 25 Nov 2012 14:35:04 +0000 (15:35 +0100)]
Simplify some condition in the tester
Wolfgang (Blub) Bumiller [Sun, 25 Nov 2012 14:33:03 +0000 (15:33 +0100)]
Typedef testcases
Wolfgang (Blub) Bumiller [Sun, 25 Nov 2012 14:31:26 +0000 (15:31 +0100)]
free the _locals vector
Wolfgang (Blub) Bumiller [Sun, 25 Nov 2012 14:30:31 +0000 (15:30 +0100)]
Fix a missing uninitialized value which caused typedefs within functions to cause a segfault
Wolfgang (Blub) Bumiller [Sun, 25 Nov 2012 14:25:19 +0000 (15:25 +0100)]
Allow typedefs to shadow defs of previous scopes
Wolfgang (Blub) Bumiller [Sun, 25 Nov 2012 14:21:52 +0000 (15:21 +0100)]
Implementing typedef
Wolfgang (Blub) Bumiller [Sun, 25 Nov 2012 14:12:16 +0000 (15:12 +0100)]
fixing a leak in the hashtables, htdel didn't delete the hash_node_t entries
Wolfgang (Blub) Bumiller [Sun, 25 Nov 2012 13:29:59 +0000 (14:29 +0100)]
typedef is now a keyword
Wolfgang (Blub) Bumiller [Sun, 25 Nov 2012 13:29:06 +0000 (14:29 +0100)]
always define GMQCC, never define FTEQCC or QCC, but have __STD_FTEQCC__ and the likes for -std=qcc/gmqcc/fteqcc
Wolfgang (Blub) Bumiller [Sun, 25 Nov 2012 13:05:10 +0000 (14:05 +0100)]
Revert "Fix type punning warnings"
it's a gcc version issue...
This reverts commit
3e6d173e31cf351b12262a14c053d82a214c0b36 .
Dale Weiler [Sun, 25 Nov 2012 12:57:28 +0000 (12:57 +0000)]
Fix type punning warnings
Wolfgang (Blub) Bumiller [Sun, 25 Nov 2012 12:55:29 +0000 (13:55 +0100)]
Fix some uninitialized values
Wolfgang (Blub) Bumiller [Sun, 25 Nov 2012 12:37:54 +0000 (13:37 +0100)]
use the hashtables in the IR
Wolfgang (Blub) Bumiller [Sun, 25 Nov 2012 12:33:00 +0000 (13:33 +0100)]
removing ir_function_get_local - it's unused
Wolfgang (Blub) Bumiller [Sun, 25 Nov 2012 12:23:37 +0000 (13:23 +0100)]
Change the parser to use the hashtable functions
Dale Weiler [Sat, 24 Nov 2012 21:46:28 +0000 (21:46 +0000)]
Some hashtable changes
Dale Weiler [Sat, 24 Nov 2012 21:23:21 +0000 (21:23 +0000)]
You made substantial changes to this file, you get a name :P
Dale Weiler [Sat, 24 Nov 2012 21:22:35 +0000 (21:22 +0000)]
Add respective license headers + some cleanups
Dale Weiler [Sat, 24 Nov 2012 20:33:03 +0000 (20:33 +0000)]
Whitespace
Dale Weiler [Sat, 24 Nov 2012 00:37:36 +0000 (00:37 +0000)]
Set correct macro for PP based on the selected standard
Dale Weiler [Sat, 24 Nov 2012 00:29:30 +0000 (00:29 +0000)]
Implemented -W? and -f? as aliases to -Whelp and -fhelp
Dale Weiler [Sat, 24 Nov 2012 00:26:25 +0000 (00:26 +0000)]
Implemented -show-defaults
Wolfgang (Blub) Bumiller [Fri, 23 Nov 2012 22:44:35 +0000 (23:44 +0100)]
-Wdouble-declaration on by default
Wolfgang (Blub) Bumiller [Fri, 23 Nov 2012 21:30:35 +0000 (22:30 +0100)]
turn the message about global variable double-declaration into a warning instead of an error on std != gmqcc
Wolfgang (Blub) Bumiller [Fri, 23 Nov 2012 21:22:22 +0000 (22:22 +0100)]
warn about double function declarations...
Wolfgang (Blub) Bumiller [Fri, 23 Nov 2012 21:15:17 +0000 (22:15 +0100)]
A nice internal error
Wolfgang (Blub) Bumiller [Fri, 23 Nov 2012 21:07:35 +0000 (22:07 +0100)]
'var' is now no keyword anymore, :\
Wolfgang (Blub) Bumiller [Fri, 23 Nov 2012 20:52:16 +0000 (21:52 +0100)]
handling 'const' - still need correct separation of constant and just initialized later when we distinguish between them
Wolfgang (Blub) Bumiller [Fri, 23 Nov 2012 20:47:00 +0000 (21:47 +0100)]
preserve newlines in preprocessed multiline comments
Wolfgang (Blub) Bumiller [Fri, 23 Nov 2012 20:41:50 +0000 (21:41 +0100)]
Adding an unrecognized keywords error
Wolfgang (Blub) Bumiller [Fri, 23 Nov 2012 20:35:14 +0000 (21:35 +0100)]
Fix a very nasty bug in the lexer's handling of comments
Dale Weiler [Fri, 23 Nov 2012 20:06:11 +0000 (20:06 +0000)]
Merge branch 'master' of github.com:graphitemaster/gmqcc
Dale Weiler [Fri, 23 Nov 2012 20:05:53 +0000 (20:05 +0000)]
Added comment about hashtable
Wolfgang (Blub) Bumiller [Fri, 23 Nov 2012 20:04:57 +0000 (21:04 +0100)]
relation operation in #if just as wrong as in fteqcc
Dale Weiler [Fri, 23 Nov 2012 20:01:58 +0000 (20:01 +0000)]
No copy, just store pointer for hash table
Wolfgang (Blub) Bumiller [Fri, 23 Nov 2012 18:34:24 +0000 (19:34 +0100)]
Enforce a trailing nul-byte after preprocessing
Wolfgang (Blub) Bumiller [Fri, 23 Nov 2012 18:30:02 +0000 (19:30 +0100)]
Don't ftepp_warn after destroying the lexer...
Wolfgang (Blub) Bumiller [Fri, 23 Nov 2012 18:29:45 +0000 (19:29 +0100)]
Look for include files in the currently #included file's directory first
Wolfgang (Blub) Bumiller [Fri, 23 Nov 2012 18:13:09 +0000 (19:13 +0100)]
Let's #define GMQCC by default
Wolfgang (Blub) Bumiller [Fri, 23 Nov 2012 14:03:10 +0000 (15:03 +0100)]
Don't delete the ftepp prematurely
Wolfgang (Blub) Bumiller [Fri, 23 Nov 2012 13:59:56 +0000 (14:59 +0100)]
ftepp_out can return a nullptr
Wolfgang (Blub) Bumiller [Fri, 23 Nov 2012 13:39:05 +0000 (14:39 +0100)]
operator &~=
Wolfgang (Blub) Bumiller [Fri, 23 Nov 2012 13:28:11 +0000 (14:28 +0100)]
operators &= and |=
Wolfgang (Blub) Bumiller [Fri, 23 Nov 2012 13:24:58 +0000 (14:24 +0100)]
*= and /= operators
Wolfgang (Blub) Bumiller [Fri, 23 Nov 2012 11:32:07 +0000 (12:32 +0100)]
Fixing operator precedence of suffices
Wolfgang (Blub) Bumiller [Fri, 23 Nov 2012 11:29:52 +0000 (12:29 +0100)]
operator tests
Wolfgang (Blub) Bumiller [Fri, 23 Nov 2012 11:28:51 +0000 (12:28 +0100)]
correcting an error message
Wolfgang (Blub) Bumiller [Fri, 23 Nov 2012 11:25:13 +0000 (12:25 +0100)]
Suffix operators, and remembering the const-float-1 in parser_t
Wolfgang (Blub) Bumiller [Fri, 23 Nov 2012 10:57:08 +0000 (11:57 +0100)]
Parsing of suffix operators, NOTE: applied like prefix operators just to get it committed in a compilable state
Wolfgang (Blub) Bumiller [Fri, 23 Nov 2012 10:52:03 +0000 (11:52 +0100)]
Prefix ++,--
Wolfgang (Blub) Bumiller [Fri, 23 Nov 2012 10:45:22 +0000 (11:45 +0100)]
a type_name -> ast_type_to_string conversion
Wolfgang (Blub) Bumiller [Fri, 23 Nov 2012 10:45:07 +0000 (11:45 +0100)]
-std=fteqcc gets its own operator list
Dale Weiler [Fri, 23 Nov 2012 06:48:54 +0000 (06:48 +0000)]
Visual studio __forceinline can be used for GMQCC_INLINE
Dale Weiler [Fri, 23 Nov 2012 06:41:06 +0000 (06:41 +0000)]
Use memcmp for comparing doubles
Dale Weiler [Fri, 23 Nov 2012 06:26:19 +0000 (06:26 +0000)]
ast_binstore_codegen initialize left ir value to null for output left side used for lvalue to prevent clang from warning. Also fixed uninitialized bug in hashtable implementation
Dale Weiler [Fri, 23 Nov 2012 06:23:20 +0000 (06:23 +0000)]
Sign conversion fixes in exec.c
Dale Weiler [Fri, 23 Nov 2012 06:17:21 +0000 (06:17 +0000)]
Cleanups
Dale Weiler [Fri, 23 Nov 2012 06:12:01 +0000 (06:12 +0000)]
Implemented hashtable as-per Blubs request
Dale Weiler [Fri, 23 Nov 2012 02:31:02 +0000 (02:31 +0000)]
Wall was already there, changed pedantic, into pedantic-errors
Dale Weiler [Fri, 23 Nov 2012 02:29:01 +0000 (02:29 +0000)]
change choice of diagnostics for ftepp to use lex_ctx instance. Cleaned up C++ style comments, and some other things ...
Dale Weiler [Fri, 23 Nov 2012 02:23:22 +0000 (02:23 +0000)]
Make it compile with -Wall and -pedantic
Dale Weiler [Thu, 22 Nov 2012 22:11:00 +0000 (22:11 +0000)]
Fix getline
Wolfgang (Blub) Bumiller [Thu, 22 Nov 2012 22:11:29 +0000 (23:11 +0100)]
Fixing the makefile - stop adding pointless defaults
Wolfgang (Blub) Bumiller [Thu, 22 Nov 2012 21:03:06 +0000 (22:03 +0100)]
Fixing up ast_binstore_codegen to handle array updates