Dale Weiler [Sun, 21 Apr 2013 05:50:21 +0000 (05:50 +0000)]
Some work in progress preprocessing test work
Dale Weiler [Sun, 21 Apr 2013 04:56:41 +0000 (04:56 +0000)]
Remove hashset
Wolfgang Bumiller [Wed, 17 Apr 2013 16:23:30 +0000 (18:23 +0200)]
parser_const_string now uses hashtables; hashtables may want to dup an empty string without it becoming NULL - also replacing ir_strdup with the new util_ one
Wolfgang Bumiller [Wed, 17 Apr 2013 15:58:08 +0000 (17:58 +0200)]
fix warnings to allow compiling with -O3
Dale Weiler [Wed, 17 Apr 2013 11:02:42 +0000 (11:02 +0000)]
Some inline never hurt anyone .. actually, C made a bad decision in it's design, everything should've always been implicitly inline, since most code back in the day was small, if you had large bodies, there should've been an 'outline' keyword for that instead :P
Dale Weiler [Wed, 17 Apr 2013 10:51:33 +0000 (10:51 +0000)]
Use hashtable for macro definitions in the preprocessor, this speeds up the search for them, and the removal of them making it O(1) instead of O(n). This also makes my 30 second xonotic compiles take only 13 seconds
Wolfgang Bumiller [Wed, 17 Apr 2013 09:36:45 +0000 (11:36 +0200)]
don't call ftepp_finish on a freed ftepp struct
Dale Weiler [Wed, 17 Apr 2013 06:30:09 +0000 (06:30 +0000)]
More perliminary reworking for threading
Dale Weiler [Wed, 17 Apr 2013 04:27:00 +0000 (04:27 +0000)]
Fix compile for windows.
Dale Weiler [Wed, 17 Apr 2013 00:52:52 +0000 (00:52 +0000)]
Perliminary parser reworking, required for the proposed multithreading.
Dale Weiler [Tue, 16 Apr 2013 20:27:01 +0000 (20:27 +0000)]
Fix typo in kate syntax highlighting installation documentation.
Dale Weiler [Tue, 16 Apr 2013 20:24:33 +0000 (20:24 +0000)]
Added syntax highlighting configuration files (with documentation on how to install them) for nano, kate and geany.
Wolfgang Bumiller [Tue, 16 Apr 2013 12:14:15 +0000 (14:14 +0200)]
lex_try_pragma: free the buffers
Dale Weiler [Tue, 16 Apr 2013 09:13:22 +0000 (09:13 +0000)]
Fix memdump printing
Dale Weiler [Mon, 15 Apr 2013 20:54:53 +0000 (20:54 +0000)]
Rewrote memory tracking, now prints highest water mark (most used memory at a given time during compile). Changes all byte representation to MB representation. Added ability to print the contents of the leaked memory to the console when -debug is on (infact the lost messages only print during -debug), -memchk simply reports the memory info at the end (it is also printed when -debug). You can set the memory dump columns with -memdumpcols=# where # is the number of columns you want (default is 16)
Wolfgang Bumiller [Mon, 15 Apr 2013 19:07:44 +0000 (21:07 +0200)]
fix macro parameters
Wolfgang Bumiller [Mon, 15 Apr 2013 19:05:59 +0000 (21:05 +0200)]
ast_expression_delete: delete varparam if it is set - fixes another leak
Wolfgang Bumiller [Mon, 15 Apr 2013 18:56:48 +0000 (20:56 +0200)]
fix memleak in ast_local_codegen
Wolfgang Bumiller [Mon, 15 Apr 2013 18:53:53 +0000 (20:53 +0200)]
util_strdup: don't use util_memory_a with -DNOTRACK
Dale Weiler [Mon, 15 Apr 2013 06:23:13 +0000 (06:23 +0000)]
GCC specific stuff compile flags.
Dale Weiler [Sun, 14 Apr 2013 23:51:16 +0000 (23:51 +0000)]
Added tracing to strdup for allocations, fixed some memleaks, this isn't pretty (trying to track down some weird memory leak issues)
Dale Weiler [Sun, 14 Apr 2013 01:41:13 +0000 (01:41 +0000)]
cleanups
Dale Weiler [Sun, 14 Apr 2013 01:32:29 +0000 (01:32 +0000)]
Fet rid of explicit file stream flushes, streams are flushed on exit, which we can always gurantee.
Dale Weiler [Sun, 14 Apr 2013 01:29:50 +0000 (01:29 +0000)]
Remove one more external function
Dale Weiler [Sun, 14 Apr 2013 01:26:40 +0000 (01:26 +0000)]
More flattening. I don't know why I turned off buffering, that makes output to console even slower due to all the flushes, which actually slows down compilation.
Dale Weiler [Sun, 14 Apr 2013 01:25:11 +0000 (01:25 +0000)]
Flatten more external functions
Dale Weiler [Sun, 14 Apr 2013 01:16:35 +0000 (01:16 +0000)]
More function flatening
Dale Weiler [Sun, 14 Apr 2013 01:14:14 +0000 (01:14 +0000)]
More function flatening
Dale Weiler [Sun, 14 Apr 2013 01:07:39 +0000 (01:07 +0000)]
More external function flatening (less external symbols)
Dale Weiler [Sun, 14 Apr 2013 01:03:22 +0000 (01:03 +0000)]
Revert that trans stuff
Dale Weiler [Sun, 14 Apr 2013 01:00:25 +0000 (01:00 +0000)]
flatten the use of strcpy, 90% of the cases we already knew the length of the string either at compile-time, or already within the scope we where, thus letting us use strncpy, which can be further optimized (unrolled if static)
Dale Weiler [Sat, 13 Apr 2013 18:17:15 +0000 (18:17 +0000)]
Fix possible buffer overflows.
Dale Weiler [Sat, 13 Apr 2013 18:04:07 +0000 (18:04 +0000)]
Fix possible bug
Dale Weiler [Sat, 13 Apr 2013 18:01:41 +0000 (18:01 +0000)]
Merge branch 'cooking' of github.com:graphitemaster/gmqcc into cooking
Dale Weiler [Sat, 13 Apr 2013 18:01:26 +0000 (18:01 +0000)]
Fix some memory leaks.
Wolfgang Bumiller [Sat, 13 Apr 2013 10:50:57 +0000 (03:50 -0700)]
Merge pull request #103 from matthiaskrgr/cooking
fix arch pkgbuilds
Matthias Krüger [Sat, 13 Apr 2013 09:23:10 +0000 (11:23 +0200)]
gitignore: ignore pkg.tar.xz packages in distro/arch{linux/bsd}
Matthias Krüger [Sat, 13 Apr 2013 09:19:48 +0000 (11:19 +0200)]
PKGBUILD: release: fix sha1sum, minor cleanup
Matthias Krüger [Fri, 12 Apr 2013 20:08:10 +0000 (22:08 +0200)]
PKGBUILD: git: fix for pacman 4.1.0
Matthias Krüger [Fri, 12 Apr 2013 19:51:55 +0000 (21:51 +0200)]
.gitignore: add /pak
Wolfgang Bumiller [Tue, 2 Apr 2013 21:40:26 +0000 (23:40 +0200)]
we changed the prefix... there too
Wolfgang Bumiller [Tue, 2 Apr 2013 21:39:42 +0000 (23:39 +0200)]
we changed the prefix...
Dale Weiler [Wed, 27 Mar 2013 20:15:00 +0000 (13:15 -0700)]
Merge pull request #102 from matthiaskrgr/cooking
gource stuff
matthiaskrgr [Wed, 27 Mar 2013 19:05:43 +0000 (20:05 +0100)]
make: gource flags: add
--key
--camera-mode overview
--highlight-all-users
--file-idle-time 0
--hide progress,mouse
--stop-at-end
--max-files
99999999999
--max-file-lag 0.000001
--bloom-multiplier 1.3
matthiaskrgr [Wed, 27 Mar 2013 18:50:39 +0000 (19:50 +0100)]
Makefile: split up 'make gource' into 'make gource' (render only) and 'make gource-record' (record using ffmpeg)
Dale Weiler [Thu, 21 Mar 2013 06:17:50 +0000 (06:17 +0000)]
Make variable for flexibility
Dale Weiler [Thu, 21 Mar 2013 06:01:34 +0000 (06:01 +0000)]
Uploadability from package building using dropbox API (all inside a makefile with magics)
Dale Weiler [Thu, 21 Mar 2013 04:47:46 +0000 (04:47 +0000)]
Some protection for cross arch package building
Dale Weiler [Thu, 21 Mar 2013 02:02:41 +0000 (02:02 +0000)]
Cross architecture stuff for distro build scripts. If you have an x86_64 capable system with a compiler and make (the OS doesn't even matter), simply changing to "distro" directory and typing "make" is sufficent to make archlinux i686/x86_64, and debian i686/x86_64 packages.
Dale Weiler [Fri, 15 Mar 2013 22:56:45 +0000 (22:56 +0000)]
While we're at it, fix that one too.
Dale Weiler [Fri, 15 Mar 2013 22:56:09 +0000 (22:56 +0000)]
*sigh*
Dale Weiler [Fri, 15 Mar 2013 22:53:00 +0000 (22:53 +0000)]
SPACES PEOPLE
Dale Weiler [Fri, 15 Mar 2013 22:51:40 +0000 (22:51 +0000)]
Added gource rule to makefile
Dale Weiler [Sat, 9 Mar 2013 09:20:54 +0000 (09:20 +0000)]
Added isnan compiler builtin, documented what each compiler builtin does as well.
Dale Weiler [Sat, 9 Mar 2013 08:59:12 +0000 (08:59 +0000)]
fix comment
Dale Weiler [Sat, 9 Mar 2013 08:57:37 +0000 (08:57 +0000)]
Uh wrong file.
Dale Weiler [Sat, 9 Mar 2013 08:53:39 +0000 (08:53 +0000)]
Implemented smart intrinsic / builtin system. When you use trivial math functions like "pow", if they don't exist as a builtin, the compiler will implement its own versions, likewise, if a compiler builtin depends on a function that exists, it will use it, likewise if it doesn't it will implement it. If you explicitally use __builtin_ (prefixed) versions, the compiler again will select the best option it can, be it a combination of both builtins and compiler builtins, all compiler builtins, OR, all builtins (most performant).
Dale Weiler [Sat, 9 Mar 2013 05:46:08 +0000 (05:46 +0000)]
Add floor to tests defs.qh
Dale Weiler [Sat, 9 Mar 2013 05:07:14 +0000 (05:07 +0000)]
Implemented "reverse" enum attribute, e.g enum : reverse { A, B, C, D } -> A,B,C,D = 3,2,1,0
Dale Weiler [Sat, 9 Mar 2013 04:25:02 +0000 (04:25 +0000)]
Fix operator precedence, closes #101
Dale Weiler [Fri, 8 Mar 2013 09:23:35 +0000 (09:23 +0000)]
Better diagnostic when "floor" cannot be found.
Dale Weiler [Fri, 8 Mar 2013 09:17:54 +0000 (09:17 +0000)]
Implemented __builtin_mod, and % operator. Added floor builtin to the standalone executor. Mod works so long as the compiler can find a suitable definition of "float floor(float)", otherwise it prints a diagnostic and gives up (original id1 Quake had floor so we can depend on it).
Dale Weiler [Fri, 8 Mar 2013 08:01:45 +0000 (08:01 +0000)]
Implemented concept of enumeration attributes (can be further extended, but currently only "flag" is implemented as an attribute). An enumeration with a flag attribute will act as a "flagged enumeration", one that automatically handles exponentiation of the constants defined inside it, i.e enum : flag { A, B, C }, A,B,C will equal 2, 4, 8.
Dale Weiler [Fri, 8 Mar 2013 03:46:25 +0000 (03:46 +0000)]
Implemented __builtin_exp
Dale Weiler [Thu, 7 Mar 2013 23:05:40 +0000 (23:05 +0000)]
Actually generate an ast_call for __builtin_pow for the ** operator, otherwise the operator yeilds a ast_function, making "a ** b" not work, but since it's a function, allows **(a, b). Also added tests for exponentiation operator.
Dale Weiler [Thu, 7 Mar 2013 22:52:03 +0000 (22:52 +0000)]
Add some ice
Dale Weiler [Thu, 7 Mar 2013 22:14:04 +0000 (22:14 +0000)]
Make ** RIGHT associative
Dale Weiler [Thu, 7 Mar 2013 22:09:14 +0000 (22:09 +0000)]
Get rid of the bullshit log stuff
Dale Weiler [Thu, 7 Mar 2013 21:38:46 +0000 (21:38 +0000)]
They see me roll 'n, casting, so far they just think I'm implicit casting dirty, implicity casting dirty ..
Dale Weiler [Thu, 7 Mar 2013 21:31:19 +0000 (21:31 +0000)]
Implement exponentiation operator `**` as well as __builtin_pow (used for exponentiation operator). Use of exponentiation operator with constants results in const folded (precomputed at compile time exponentiation), otherwise runtime exponentiation with some clever loops (slow!).
Wolfgang Bumiller [Tue, 26 Feb 2013 15:39:28 +0000 (16:39 +0100)]
hopefully fix an off-by-1 vararg copy issue
Dale Weiler [Mon, 25 Feb 2013 10:01:36 +0000 (10:01 +0000)]
Print the number for the test itself in the test-suite. The log10 can be improved.
Dale Weiler [Mon, 25 Feb 2013 08:52:56 +0000 (08:52 +0000)]
Remove debug printf
Dale Weiler [Mon, 25 Feb 2013 08:52:17 +0000 (08:52 +0000)]
Push definitions when -O0
Wolfgang Bumiller [Wed, 20 Feb 2013 22:08:58 +0000 (23:08 +0100)]
Merge branch 'master' into cooking
Wolfgang Bumiller [Wed, 20 Feb 2013 22:08:50 +0000 (23:08 +0100)]
fix: don't mess up multiline macros in files ending with \r\n
Wolfgang Bumiller [Wed, 13 Feb 2013 09:55:32 +0000 (10:55 +0100)]
update to .gitignore
Wolfgang Bumiller [Tue, 12 Feb 2013 13:31:27 +0000 (14:31 +0100)]
Merge branch 'master' into cooking
Dale Weiler [Mon, 11 Feb 2013 18:02:42 +0000 (18:02 +0000)]
fix
Dale Weiler [Mon, 11 Feb 2013 17:51:23 +0000 (17:51 +0000)]
Less duplication
Dale Weiler [Mon, 11 Feb 2013 17:49:17 +0000 (17:49 +0000)]
Fix fucking mingw32 shit.
Wolfgang Bumiller [Mon, 11 Feb 2013 11:13:27 +0000 (12:13 +0100)]
include: guard the actual inclusion with ftepp->output_on so that include inside #if 0 doesn't happen
Wolfgang Bumiller [Mon, 11 Feb 2013 10:37:39 +0000 (11:37 +0100)]
Lifetime analysis: Don't go through the blocks as a graph, instead, go through only the list.
The difference in code is rather small, but it's much faster.
Dale Weiler [Sun, 10 Feb 2013 13:59:24 +0000 (13:59 +0000)]
BOOM
Dale Weiler [Sun, 10 Feb 2013 13:57:22 +0000 (13:57 +0000)]
BOOM
Dale Weiler [Sun, 10 Feb 2013 13:47:50 +0000 (13:47 +0000)]
Consider cppchecks (performance) warnings.
Dale Weiler [Sun, 10 Feb 2013 02:09:12 +0000 (02:09 +0000)]
Sigh
Dale Weiler [Sun, 10 Feb 2013 02:08:17 +0000 (02:08 +0000)]
Fix mem leak.
Dale Weiler [Fri, 8 Feb 2013 19:07:12 +0000 (19:07 +0000)]
Oops
Dale Weiler [Fri, 8 Feb 2013 16:45:05 +0000 (16:45 +0000)]
depend rule for $(OBJ_P) PAK utility.
Dale Weiler [Fri, 8 Feb 2013 16:43:31 +0000 (16:43 +0000)]
These includes are not required
Dale Weiler [Fri, 8 Feb 2013 16:42:43 +0000 (16:42 +0000)]
Added $(PAK) to Makefile for clean rule.
Dale Weiler [Fri, 8 Feb 2013 16:40:47 +0000 (16:40 +0000)]
endian swap on FOURCC for "PACK" on BE systems.
Dale Weiler [Fri, 8 Feb 2013 16:39:14 +0000 (16:39 +0000)]
Fix some memleaks.
Dale Weiler [Fri, 8 Feb 2013 16:32:15 +0000 (16:32 +0000)]
A command line interface for the PAK utility, made it a seperate build target too.
Dale Weiler [Fri, 8 Feb 2013 12:30:17 +0000 (12:30 +0000)]
Implemented __VA_COUNT__
Dale Weiler [Fri, 8 Feb 2013 12:20:48 +0000 (12:20 +0000)]
Make it compile as C++ code AGAIN
Dale Weiler [Fri, 8 Feb 2013 12:08:24 +0000 (12:08 +0000)]
Actually add fs.c
Dale Weiler [Fri, 8 Feb 2013 12:06:59 +0000 (12:06 +0000)]
Cleanup cargocult directory and file specific things, to fs.c (renamed file.c which also contains directory handling stuff). Also cleaned up some stuff, and added proper end comments to conditional inclusion stuff.
Dale Weiler [Thu, 7 Feb 2013 20:10:01 +0000 (20:10 +0000)]
fix build issue