Commit graph

  • ac7e1a557d Fixes Dale Weiler 2013-11-29 13:36:35 -0500
  • ea801acdb8 oops Dale Weiler 2013-11-29 13:18:50 -0500
  • 4583cb8280 cleanup Dale Weiler 2013-11-29 13:13:39 -0500
  • cb97b7f672 Cleanup lexer old cruft Dale Weiler 2013-11-29 07:15:49 -0500
  • 1d347eaf66 Handle byte order mark for unicode. (0xEFBBBF) Dale Weiler 2013-11-29 07:03:55 -0500
  • c3cc6f184e static variables now don't get re-initialized in functions; cannot be initialized with non-constants anymore; and a counter has been added so you can use the same name in a different scope for another static variable again. Wolfgang Bumiller 2013-11-28 12:04:01 +0100
  • bf127088ca Make log use the slightly improved algorithm for small values. Dale Weiler 2013-11-25 14:08:05 -0500
  • 9749ec350a Reorder intrinsics table Dale Weiler 2013-11-25 13:44:00 -0500
  • e5fc8fdded out isn't used Dale Weiler 2013-11-25 13:42:17 -0500
  • 2d0f0a3607 Never mind Dale Weiler 2013-11-25 13:32:02 -0500
  • 25e86c04eb Only g++ is this retarded Dale Weiler 2013-11-25 13:30:45 -0500
  • f19d32b29b Another one Dale Weiler 2013-11-25 13:26:24 -0500
  • dc48af195d Pregenerate 2.0 for const folder since it's used often Dale Weiler 2013-11-25 13:25:29 -0500
  • 33c0c83d59 Implemented __builtin_ln, __builtin_log, __builtin_log10, __builtin_log2 and __builtin_logb. This algorithm is nuts. Dale Weiler 2013-11-25 13:21:27 -0500
  • 02c6076bfd Fix Dale Weiler 2013-11-25 11:29:36 -0500
  • 3209aaa996 Implement __builtin_nan, __builtin_inf and __builtin_epsilon to generate machine nan, inf and epsilon values (at runtime). Dale Weiler 2013-11-25 11:26:16 -0500
  • 8a26ed7664 Fix CRC16 Dale Weiler 2013-11-25 02:11:45 -0500
  • 50d1bfe783 Fix Dale Weiler 2013-11-23 21:17:35 -0500
  • 63c0917d24 More compiler intrinsics for math functions Dale Weiler 2013-11-23 21:14:13 -0500
  • 87a43777ab strength reduct (a - (-b)) into (a + b) Dale Weiler 2013-11-23 13:13:21 -0500
  • 23904bad52 Better exp algorithm from divVerent Dale Weiler 2013-11-23 12:45:22 -0500
  • 52cda620b2 Fix comments Dale Weiler 2013-11-23 11:15:28 -0500
  • 1c33bcfceb Fixed pow Dale Weiler 2013-11-23 11:14:42 -0500
  • db182819ae Guard against nullfunc Dale Weiler 2013-11-23 10:58:03 -0500
  • ab2a4f1318 Some math constants Dale Weiler 2013-11-23 10:31:51 -0500
  • 80adfebd23 Implement isinf intrinsic Dale Weiler 2013-11-23 10:16:48 -0500
  • aee68d80ea Cull back on the TODO Dale Weiler 2013-11-23 08:02:56 -0500
  • 457a1b9690 Undefine macros after using them Dale Weiler 2013-11-23 07:47:16 -0500
  • 943cb2ca64 Mark restrict on input too Dale Weiler 2013-11-23 07:45:45 -0500
  • 556a84a46f Mark const for better generated code Dale Weiler 2013-11-23 07:44:34 -0500
  • b52cf4d47e Add comment abotu CRC16 Dale Weiler 2013-11-23 07:42:38 -0500
  • e2bfaf8109 Implemented exp2 intrinsic Dale Weiler 2013-11-23 07:37:26 -0500
  • c68a5c29e1 Simplify Dale Weiler 2013-11-23 07:27:09 -0500
  • 11f79bb1a6 Use '#' in nullfun identifier to prevent it from being used in code Dale Weiler 2013-11-23 07:25:24 -0500
  • 54f331a64a Fix intrinsics for self-inclusion of other intrinsics. Dale Weiler 2013-11-23 07:21:12 -0500
  • 74b58c5bb8 Cleaner handling since intrin_func deals with alias Dale Weiler 2013-11-23 07:02:45 -0500
  • 292c8150b4 Resolve undefined functions to compiler builtins if they exist. Dale Weiler 2013-11-23 06:57:40 -0500
  • b1fd85b711 Merge branch 'cooking' of github.com:graphitemaster/gmqcc into cooking Dale Weiler 2013-11-23 06:41:24 -0500
  • d9572e3e30 Fixed pow/exp using fast approximation until the fractional part is hit. Once fractional is reached a binary search is used to get close to the value. Dale Weiler 2013-11-23 06:40:27 -0500
  • 0860b7a68b crc16 slice-by-8 table generator code included for reference Wolfgang Bumiller 2013-11-23 11:58:20 +0100
  • 759fca6921 slice-by-8 crc16 Wolfgang Bumiller 2013-11-23 11:50:30 +0100
  • 3b6e7d0ce1 indent Dale Weiler 2013-11-23 03:54:11 -0500
  • ae9d3d42cf A better mod implementation Dale Weiler 2013-11-23 03:53:07 -0500
  • 29f2cc302b Add reference tool Dale Weiler 2013-11-23 03:10:09 -0500
  • 7011a2ef2c Faster CRC16 algorithm based on the Slicing-by-8 algorithm, by Michael E. Kounavis and Frank L. Berry from Intel Corp. Dale Weiler 2013-11-23 01:00:32 -0500
  • ec03b55d1a now it parses and has the desired precedence Wolfgang Bumiller 2013-11-16 14:34:24 +0100
  • 9131644412 ** precedence was wrong Wolfgang Bumiller 2013-11-16 14:26:46 +0100
  • 49bb172a09 folder: change ~ for floats too Wolfgang Bumiller 2013-11-14 11:41:11 +0100
  • 73c4015046 Fix unary minus on vector Dale Weiler 2013-11-13 08:57:14 -0500
  • 1900262df4 Use a branch instead of math on enum types Dale Weiler 2013-11-13 04:57:18 -0500
  • f43106017f bit more concise Wolfgang Bumiller 2013-11-12 16:28:11 +0100
  • eb4486a7ac working fold_op_cmp implementation Wolfgang Bumiller 2013-11-12 16:15:02 +0100
  • 1d5229ee8c vec3_not: be consistent with compile-time behavior here Wolfgang Bumiller 2013-11-12 16:05:54 +0100
  • eee7d0aac1 vec3_pbool: or, not and Wolfgang Bumiller 2013-11-12 15:56:04 +0100
  • de12a24bc9 folder: fix -fperl-logic Wolfgang Bumiller 2013-11-12 14:39:25 +0100
  • 6ea88c9a3f subtracting != adding Wolfgang Bumiller 2013-11-12 14:31:11 +0100
  • de14d514f3 fix 0-x being turned into x Wolfgang Bumiller 2013-11-06 16:57:04 +0100
  • 5938cd77be update download page Dale Weiler 2013-10-31 17:23:09 -0400
  • 99de3cf4f5 regular procedure... bumping PKGBUILDs, GMQCC_VERSION macros, adding back GMQCC_VERSION_TYPE_DEVEL Wolfgang Bumiller 2013-10-31 22:17:53 +0100
  • 7f2b2061e6 0.3.5 commit 0.3.5 Wolfgang Bumiller 2013-10-31 22:13:42 +0100
  • 1d745fd1f9 Merge branch 'cooking' Dale Weiler 2013-10-31 08:22:54 -0400
  • 7a29f65683 Nothing in there requires unistd.h Wolfgang Bumiller 2013-10-28 11:37:08 +0100
  • 1ca36b7e49 Revert "oh my god, make it stop >.<" Wolfgang Bumiller 2013-10-27 20:11:41 +0100
  • a120209567 oh my god, make it stop >.< Wolfgang Bumiller 2013-10-27 19:19:11 +0100
  • b1016c7f48 fold_binary now used instead of ast_binary_new, which calls fold_superfluous Wolfgang Bumiller 2013-10-25 13:40:31 +0200
  • 91c894d4da Disable it on master too since Xonotic compiles are failing. Dale Weiler 2013-10-24 11:56:23 -0400
  • 065a870e7a build again Wolfgang Bumiller 2013-10-23 14:04:20 +0200
  • b87eb89853 This is not allowed Wolfgang Bumiller 2013-10-23 14:01:56 +0200
  • c90807dec6 Some correctly-sized type flags for the AST and IR, this culls back memory usage a little. Dale Weiler 2013-10-19 23:39:37 -0400
  • 0695ad1659 Merge branch 'cooking' of github.com:graphitemaster/gmqcc into cooking Dale Weiler 2013-10-19 02:53:46 -0400
  • b5b9559d6f Make preprocessor predefs use their own context opposed to the lexer context. Dale Weiler 2013-10-19 02:52:47 -0400
  • 3988aae73e type and argument parsing improved to handle the field/vararg ambiguity; tests added Wolfgang Bumiller 2013-10-18 16:28:28 +0200
  • 0f6c44d671 We're doing it this way. Dale Weiler 2013-10-18 05:37:26 -0400
  • 8d5e719026 replacing the current [[accumulate]] implementation: shorter and simpler, and also supports non-void return types Wolfgang Bumiller 2013-10-18 11:26:41 +0200
  • 0cfc275f82 Fix Dale Weiler 2013-10-17 20:35:56 -0400
  • c210340081 Undo fix and actually use a macro in the accumulation test .. just incase. Dale Weiler 2013-10-17 20:34:16 -0400
  • c675ba8086 Does this fix it? Dale Weiler 2013-10-17 20:25:02 -0400
  • 9f54610fbd Implement support for octal constants, this closes #97. Dale Weiler 2013-10-17 05:17:30 -0400
  • 02a1d9f4a1 Fix 'declaration does not declare anything' regression i.e this closes #132. Dale Weiler 2013-10-17 05:06:09 -0400
  • 97217b55d1 Ignore generating a return instruction in accumulated functions, eventually we'll have a way to merge these into one function but for now the RETURN is a waste. Dale Weiler 2013-10-17 04:45:24 -0400
  • dd33f4e498 Update deps Dale Weiler 2013-10-17 04:27:34 -0400
  • f8949e17c8 Cleaner traces Dale Weiler 2013-10-17 04:23:53 -0400
  • d6f020fd6a Fix memory dump console printing alignment and also trace expressions for allocations. Dale Weiler 2013-10-17 04:21:25 -0400
  • 05ac126d6f Use "##" to ensure the names of the accumulated functions are striped by the IR. Dale Weiler 2013-10-17 03:47:26 -0400
  • cfea900afd Update changes Dale Weiler 2013-10-17 03:44:33 -0400
  • 8a9c4edce8 Add a test for function accumulation attribute Dale Weiler 2013-10-17 03:43:05 -0400
  • 4da820ef61 Enforce void type on accumulatable functions. Dale Weiler 2013-10-17 03:39:14 -0400
  • 2c975bb344 Implemented [[accumulate]] attribute. This will hopefully be used by Xonotic to replace it's ACCUMULATE_FUNCTION stuff. Dale Weiler 2013-10-17 03:21:30 -0400
  • 1b14c49815 Use .dat extension on generated binaries in testsuite to prevent them from being sourced as task template files. This will fix the async builds on travis.ci Dale Weiler 2013-10-17 00:18:07 -0400
  • 8699053887 Fix handling on intrinsic folding, this closes #118. Dale Weiler 2013-10-17 00:14:42 -0400
  • 003bb9dfb4 Prevent aliasing functions through forward declared prototypes. This closes #125 Dale Weiler 2013-10-16 23:37:39 -0400
  • 0f479f3e88 Another one Dale Weiler 2013-10-16 21:47:12 -0400
  • c63bebd7d8 float and double shouldn't be used here, this is what qcfloat_t is for. This fixes the memcmp bug in the folder. Dale Weiler 2013-10-16 21:32:31 -0400
  • b147602d78 Fix option string allocated/non allocated storage. Dale Weiler 2013-10-16 20:14:49 -0400
  • f53502c9ca Make it valid C++ code, such that it can compile as C++ code. Dale Weiler 2013-10-16 19:54:21 -0400
  • 50d165e173 Some intrinsic code cleanup. The args check is handled anyways in the parser. We use a generated array alongside to prevent generating the intrinsic multiple times instead of using static storage. Other various cleanups as well. Dale Weiler 2013-10-16 00:04:39 -0400
  • eca82511c6 divVerent suggestion to use memcmp here Dale Weiler 2013-10-14 22:40:36 -0400
  • 6d8d7ee923 Make divVerent happy about handling divison by zero/inf/nan and negitive versions. This code now assumes IEEE 754. Dale Weiler 2013-10-14 22:31:37 -0400
  • c8413a9a04 Clang is so anal Dale Weiler 2013-10-14 21:03:24 -0400
  • 8e8b3608fb Cleanups Dale Weiler 2013-10-14 20:58:36 -0400