Commit graph

379 commits

Author SHA1 Message Date
Wolfgang Bumiller
047ecd426f move more parser code to c++, fix crashes with gcc
we initialized the parser with malloc -> memset to zero ->
placement new. With gcc the latter caused the memset to be
optimized out, causing uninitialized value accesses.
2017-07-23 10:11:31 +02:00
Wolfgang Bumiller
c285eb385d c++: exec.cpp 2017-02-11 11:43:58 +01:00
Wolfgang Bumiller
45236a644f ast conversion mostly finished 2015-02-01 11:44:00 +01:00
Wolfgang Bumiller
566e761546 more c++ migration for ast/ir/code; reached a working condition here 2015-01-20 20:25:56 +01:00
Wolfgang Bumiller
f09c6a5d63 temp committing major c++ification 2015-01-20 16:43:58 +01:00
Dale Weiler
76278e8b97 s/NULL/nullptr/ 2015-01-15 15:18:33 -05:00
Dale Weiler
35a8c3c9af More std::vector migration 2015-01-15 01:22:21 -05:00
Dale Weiler
878195bdec Use C++ naming for structures 2015-01-15 00:05:48 -05:00
Dale Weiler
aabefd1bfe Use C++ naming for structures 2015-01-14 23:56:52 -05:00
Dale Weiler
9d89a059aa More cleanup 2015-01-13 21:43:48 -05:00
Dale Weiler
b5ac2745d6 Remove license headers. The LICENSE file is sufficent 2015-01-13 21:38:40 -05:00
Dale Weiler
0a00807e57 More cleanup 2015-01-13 21:36:09 -05:00
Dale Weiler
724bca0eec Remove fs.c ansi.c and PORTING guide 2015-01-13 21:25:17 -05:00
Dale Weiler
2c421c3b71 Major cleanup of platform/fs stuff 2015-01-13 21:18:47 -05:00
Dale Weiler
893f204b30 Remove stat_info calls 2015-01-13 20:25:44 -05:00
Dale Weiler
486b215706 Remove memory tracker 2015-01-13 20:25:01 -05:00
Dale Weiler
a77797d6a6 Remove spelling corrector 2015-01-13 19:48:57 -05:00
Dale Weiler
783b7b6594 Update license headers 2015-01-09 14:53:35 -05:00
Dale Weiler
a502a5453f Make that unsigned 2014-09-27 01:52:33 -04:00
Wolfgang Bumiller
0d8b0d419c implement INSTR_STATE in the qcvm 2014-04-08 14:34:26 +02:00
Dale Weiler
15d1277158 Added memory protection to prevent mismatching of mem_d or vec_free on pointers which are otherwise unknown to be allocated memory or allocated vectors. Also fixed the preprocessor to only strip on ' ' and '\t' around macros. 2014-04-08 03:26:08 -04:00
Wolfgang Bumiller
2b7b2ea455 fix a silly macro issue 2014-04-07 14:28:11 +02:00
Jim Thoenen
69b89dc6ac Allow testsuite to pass on big endian
Move the progs header and body byteswapping into util functions and
call those functions when either reading or writing the progs.
2014-02-10 20:31:54 -06:00
Jim Thoenen
2ddb5ad50d Update per IRC peer review feedback
Restore the swap function's original name, remove convenience function,
use %u in log message, whitespace tweak.
2014-02-02 02:32:50 -06:00
Jim Thoenen
1bf9ebabcc Big-endian: Byteswap only the field contents when writing progs.dat
The previous code swapped not just the fields' contents themselves, but
also field positions within several of the structs, resulting in a
non-working progs.dat when compiled on big endian (ppc in my case).
Swapping on a field-by-field basis now.

Also:
* Addresses weird swap size requests (30+ bytes in one case)

* Take a guess at the right way to log a weird swap request before dying

* Fix swap array length scaling

* Rename the main swap function to reflect its native->little-endian
  purpose.  Figued that was okay because progs.dat is required to be
  always little-endian...

* Add a non-array version of the swap function for convenience
2014-02-02 00:57:02 -06:00
Dale Weiler
a934e0fe4b Happy new year! 2014-01-01 06:24:16 -05:00
Dale Weiler
4d4851e179 Faster hashing reaching 16 GB/s on Phenom II X4. 2013-12-14 01:23:39 -05:00
Dale Weiler
ac7e1a557d Fixes 2013-11-29 13:36:35 -05:00
Dale Weiler
ea801acdb8 oops 2013-11-29 13:18:50 -05:00
Dale Weiler
4583cb8280 cleanup 2013-11-29 13:13:39 -05:00
Dale Weiler
7011a2ef2c Faster CRC16 algorithm based on the Slicing-by-8 algorithm, by Michael E. Kounavis and Frank L. Berry from Intel Corp. 2013-11-23 01:00:32 -05:00
Wolfgang Bumiller
99de3cf4f5 regular procedure... bumping PKGBUILDs, GMQCC_VERSION macros, adding back GMQCC_VERSION_TYPE_DEVEL 2013-10-31 22:17:53 +01:00
Wolfgang Bumiller
7f2b2061e6 0.3.5 commit 2013-10-31 22:13:42 +01:00
Dale Weiler
0f6c44d671 We're doing it this way. 2013-10-18 05:37:26 -04:00
Dale Weiler
d6f020fd6a Fix memory dump console printing alignment and also trace expressions for allocations. 2013-10-17 04:21:25 -04:00
Dale Weiler
b147602d78 Fix option string allocated/non allocated storage. 2013-10-16 20:14:49 -04:00
Dale Weiler
ef51b30387 Fix windows builds, add strip target for makefiles, update distro build makefiles to use it for release builds. 2013-10-11 09:51:08 -04:00
Dale Weiler
d8b3faa871 Fix that (newer clang will fail on it) 2013-10-11 08:06:10 -04:00
Dale Weiler
4d0bf1607a Some documentation 2013-10-11 07:16:48 -04:00
Dale Weiler
63fdab8422 Some more cleanup 2013-10-11 06:36:05 -04:00
Dale Weiler
87d9371a5c Refactor some util/platform usage and extend file system file interface to accept its own flags and EOF 2013-10-11 06:12:56 -04:00
Dale Weiler
e8955f17ea More cleanups, gmqcc.h doesn't need to include stdio.h now! 2013-10-11 04:06:52 -04:00
Dale Weiler
033cf7c7d3 More cleanups 2013-10-11 03:59:25 -04:00
Dale Weiler
5138a25420 More cleanup 2013-10-11 03:21:44 -04:00
Dale Weiler
12a864abf5 Some more platform / compiler specific code refactoring. 2013-10-11 03:02:38 -04:00
Dale Weiler
151606e255 Initial platform / compiler specific code refactoring. 2013-10-11 02:39:30 -04:00
Dale Weiler
f83cc1b91d Less flexible more economical utf8 decoder. 2013-10-10 21:44:40 -04:00
Dale Weiler
b10de1b240 Make unary - operator act as an ast_unary node. This allows for consistency (no sense in making unary use binstore nodes, it doesn't make much sense). It also allows for the peephole optimization on unary chains that cancel each other to take place; i.e code like "-(-a)" simplifies to "a", thus eliminating instructions. 2013-09-29 22:01:46 -04:00
Dale Weiler
81df8fa139 Remove the rest of it. 2013-09-28 06:10:02 -04:00
Dale Weiler
2b3663e18d Optimize for superfluous cases of NOT, i.e !!!!x can be simplified to !!x. 2013-09-28 05:34:53 -04:00