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 |
|
Dale Weiler
|
f59d557dce
|
Update specification.tex
|
2013-03-07 10:21:29 -05:00 |
|
Dale Weiler
|
bedfee1fae
|
Update specification.tex
|
2013-03-07 10:19:00 -05:00 |
|
Dale Weiler
|
bdbfc85243
|
Update specification.tex
|
2013-03-07 09:39:41 -05:00 |
|
Dale Weiler
|
2146e018f1
|
Update specification.tex
|
2013-03-07 00:39:26 -05:00 |
|
Wolfgang Bumiller
|
a32f59b256
|
hopefully fix an off-by-1 vararg copy issue
|
2013-02-26 16:39:28 +01:00 |
|
Dale Weiler
|
9f06e0e017
|
Print the number for the test itself in the test-suite. The log10 can be improved.
|
2013-02-25 10:01:36 +00:00 |
|
Dale Weiler
|
b1d1aabbdd
|
Remove debug printf
|
2013-02-25 08:52:56 +00:00 |
|
Dale Weiler
|
aebab8b68a
|
Push definitions when -O0
|
2013-02-25 08:52:17 +00:00 |
|
Wolfgang Bumiller
|
d27c06ea7f
|
Merge branch 'master' into cooking
|
2013-02-20 23:08:58 +01:00 |
|
Wolfgang Bumiller
|
80184b0d80
|
fix: don't mess up multiline macros in files ending with \r\n
|
2013-02-20 23:08:50 +01:00 |
|
Wolfgang Bumiller
|
aa27249b88
|
update to .gitignore
|
2013-02-13 10:55:32 +01:00 |
|
Wolfgang Bumiller
|
3593a1b6b8
|
Merge branch 'master' into cooking
|
2013-02-12 14:31:27 +01:00 |
|
Dale Weiler
|
3b923a0183
|
fix
|
2013-02-11 18:02:42 +00:00 |
|
Dale Weiler
|
3b630ec5dc
|
Less duplication
|
2013-02-11 17:51:23 +00:00 |
|
Dale Weiler
|
c7e3e3e306
|
Fix fucking mingw32 shit.
|
2013-02-11 17:49:17 +00:00 |
|
Wolfgang Bumiller
|
1dfd375738
|
include: guard the actual inclusion with ftepp->output_on so that include inside #if 0 doesn't happen
|
2013-02-11 12:13:27 +01:00 |
|
Wolfgang Bumiller
|
3e3b8993aa
|
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.
|
2013-02-11 11:39:44 +01:00 |
|
Dale Weiler
|
0b154d69e7
|
BOOM
|
2013-02-10 13:59:24 +00:00 |
|
Dale Weiler
|
c8959a2452
|
BOOM
|
2013-02-10 13:57:22 +00:00 |
|
Dale Weiler
|
b5ead871ef
|
Consider cppchecks (performance) warnings.
|
2013-02-10 13:47:50 +00:00 |
|
Dale Weiler
|
5acde18ef1
|
Sigh
|
2013-02-10 02:09:12 +00:00 |
|
Dale Weiler
|
b0c6dc5ab2
|
Fix mem leak.
|
2013-02-10 02:08:17 +00:00 |
|
Dale Weiler
|
e4554892b0
|
Oops
|
2013-02-08 19:07:12 +00:00 |
|
Dale Weiler
|
e4075916f0
|
depend rule for $(OBJ_P) PAK utility.
|
2013-02-08 16:45:05 +00:00 |
|
Dale Weiler
|
fb8fb9f0f7
|
These includes are not required
|
2013-02-08 16:43:31 +00:00 |
|
Dale Weiler
|
ac8f510dac
|
Added $(PAK) to Makefile for clean rule.
|
2013-02-08 16:42:43 +00:00 |
|
Dale Weiler
|
02230ca992
|
endian swap on FOURCC for "PACK" on BE systems.
|
2013-02-08 16:40:47 +00:00 |
|
Dale Weiler
|
533b2144c5
|
Fix some memleaks.
|
2013-02-08 16:39:14 +00:00 |
|
Dale Weiler
|
eabb92f7b4
|
A command line interface for the PAK utility, made it a seperate build target too.
|
2013-02-08 16:32:15 +00:00 |
|
Dale Weiler
|
a568d43487
|
Implemented __VA_COUNT__
|
2013-02-08 12:30:17 +00:00 |
|