Commit graph

2142 commits

Author SHA1 Message Date
Dale Weiler
ef528d6710 Added tracing to strdup for allocations, fixed some memleaks, this isn't pretty (trying to track down some weird memory leak issues) 2013-04-14 23:51:16 +00:00
Dale Weiler
18fad16a7d cleanups 2013-04-14 01:41:13 +00:00
Dale Weiler
7ba7fd5968 Fet rid of explicit file stream flushes, streams are flushed on exit, which we can always gurantee. 2013-04-14 01:32:29 +00:00
Dale Weiler
752409417f Remove one more external function 2013-04-14 01:29:50 +00:00
Dale Weiler
4591b3a4fa 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. 2013-04-14 01:26:40 +00:00
Dale Weiler
eb2a74f7e7 Flatten more external functions 2013-04-14 01:25:11 +00:00
Dale Weiler
a25bd052d7 More function flatening 2013-04-14 01:16:35 +00:00
Dale Weiler
ccc2eb3298 More function flatening 2013-04-14 01:14:14 +00:00
Dale Weiler
3e7340c52c More external function flatening (less external symbols) 2013-04-14 01:07:39 +00:00
Dale Weiler
3f546df677 Revert that trans stuff 2013-04-14 01:03:22 +00:00
Dale Weiler
48d6375817 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) 2013-04-14 01:00:25 +00:00
Dale Weiler
3f40fcb965 Fix possible buffer overflows. 2013-04-13 18:17:15 +00:00
Dale Weiler
95172861f5 Fix possible bug 2013-04-13 18:04:07 +00:00
Dale Weiler
c62d88cb57 Merge branch 'cooking' of github.com:graphitemaster/gmqcc into cooking 2013-04-13 18:01:41 +00:00
Dale Weiler
c74889f648 Fix some memory leaks. 2013-04-13 18:01:26 +00:00
Wolfgang Bumiller
cb0169a784 Merge pull request #103 from matthiaskrgr/cooking
fix arch pkgbuilds
2013-04-13 03:50:57 -07:00
Matthias Krüger
7b3bbf05b9 gitignore: ignore pkg.tar.xz packages in distro/arch{linux/bsd} 2013-04-13 11:23:10 +02:00
Matthias Krüger
f5ba2e825f PKGBUILD: release: fix sha1sum, minor cleanup 2013-04-13 11:19:48 +02:00
Matthias Krüger
5bb10260b3 PKGBUILD: git: fix for pacman 4.1.0 2013-04-12 22:08:10 +02:00
Matthias Krüger
47ebf7c84c .gitignore: add /pak 2013-04-12 21:51:55 +02:00
Wolfgang Bumiller
a6ac90215b we changed the prefix... there too 2013-04-02 23:40:26 +02:00
Wolfgang Bumiller
c01ad2bfcf we changed the prefix... 2013-04-02 23:39:42 +02:00
Dale Weiler
50e8618b64 Merge pull request #102 from matthiaskrgr/cooking
gource stuff
2013-03-27 13:15:00 -07:00
matthiaskrgr
54c89e485a 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
2013-03-27 20:05:43 +01:00
matthiaskrgr
8e122d78be Makefile: split up 'make gource' into 'make gource' (render only) and 'make gource-record' (record using ffmpeg) 2013-03-27 19:50:39 +01:00
Dale Weiler
58a04a04e5 Make variable for flexibility 2013-03-21 06:17:50 +00:00
Dale Weiler
6900e50289 Uploadability from package building using dropbox API (all inside a makefile with magics) 2013-03-21 06:01:34 +00:00
Dale Weiler
c42a853e0b Some protection for cross arch package building 2013-03-21 04:47:46 +00:00
Dale Weiler
1b02a5204a 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. 2013-03-21 02:02:41 +00:00
Dale Weiler
66b5cf29ba While we're at it, fix that one too. 2013-03-15 22:56:45 +00:00
Dale Weiler
6a0f9d3cb2 *sigh* 2013-03-15 22:56:09 +00:00
Dale Weiler
11255058cf SPACES PEOPLE 2013-03-15 22:53:00 +00:00
Dale Weiler
dfca3743f9 Added gource rule to makefile 2013-03-15 22:51:40 +00:00
Dale Weiler
a798859a7a Added isnan compiler builtin, documented what each compiler builtin does as well. 2013-03-09 09:20:54 +00:00
Dale Weiler
d4785ad6e3 fix comment 2013-03-09 08:59:12 +00:00
Dale Weiler
965f8b9041 Uh wrong file. 2013-03-09 08:57:37 +00:00
Dale Weiler
cbeac3e5f2 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). 2013-03-09 08:53:39 +00:00
Dale Weiler
9bb586fb5a Add floor to tests defs.qh 2013-03-09 05:46:08 +00:00
Dale Weiler
d8d78f61a7 Implemented "reverse" enum attribute, e.g enum : reverse { A, B, C, D } -> A,B,C,D = 3,2,1,0 2013-03-09 05:07:14 +00:00
Dale Weiler
73c085a461 Fix operator precedence, closes #101 2013-03-09 04:25:02 +00:00
Dale Weiler
662612d66f Better diagnostic when "floor" cannot be found. 2013-03-08 09:23:35 +00:00
Dale Weiler
f19adcd1b3 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). 2013-03-08 09:17:54 +00:00
Dale Weiler
b971ddec3a 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. 2013-03-08 08:01:45 +00:00
Dale Weiler
479f3b9343 Implemented __builtin_exp 2013-03-08 03:46:25 +00:00
Dale Weiler
12340a6bd0 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. 2013-03-07 23:05:40 +00:00
Dale Weiler
0367a6175d Add some ice 2013-03-07 22:52:03 +00:00
Dale Weiler
db229b6f94 Make ** RIGHT associative 2013-03-07 22:14:04 +00:00
Dale Weiler
bd54fe03b9 Get rid of the bullshit log stuff 2013-03-07 22:09:14 +00:00
Dale Weiler
f2380a2faa They see me roll 'n, casting, so far they just think I'm implicit casting dirty, implicity casting dirty .. 2013-03-07 21:38:46 +00:00
Dale Weiler
d3c7b6fb39 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!). 2013-03-07 21:31:19 +00:00