232 Commits (a6e5b3e16601e258c570dc48aed0128d931d2e4c)

Author SHA1 Message Date
Peter Johnson 2727869bd8 Start work on optimizer module. Moved all "post-parser-finalization" code 23 years ago
Peter Johnson 0f852333df LCLint-related comment fixes. 23 years ago
Peter Johnson ae85d1edb1 Add support for incbin pseudo-instruction. 23 years ago
Peter Johnson b3cb8c0292 Move assert.h include to util.h 23 years ago
Peter Johnson e8d7d5cad9 Add opt_flags (space for use by the optimizer). 23 years ago
Peter Johnson 69c42d7aaa Plug memory leak in floatnum_new(). 23 years ago
Peter Johnson f36a664a49 strcmp() returns 0 if the strings are equal. 23 years ago
Peter Johnson 6bbcad2e6c Make extension-replacement a utility function in file.c (as it will need to 23 years ago
Peter Johnson 7b4e6c09dc Add support for NASM's %line. 23 years ago
Peter Johnson a64ee74f8f Fix typo in HAVE_STRCMPI strncasecmp() #define. 23 years ago
Peter Johnson 3b496cdde7 Do intl more correctly. nointl/libintl.h is unnecessary; it can be detected 23 years ago
Peter Johnson 4bcb83da56 (Mostly) Clean up floatnum internal allocations. 23 years ago
Peter Johnson 4af9db689c Change dbg optimizer to basic. 23 years ago
Peter Johnson a7ce9bf2d1 Delete dbg optimizer (won't be useful) and add "basic" (equiv. to NASM 2-pass) 23 years ago
Peter Johnson ce4a5fe02a Switch from using ternary tree to Hash Array Mapped Trie (HAMT), which has 23 years ago
Peter Johnson 825eaa5823 Massive cleanup of debugging output (via _print() functions). All now take 23 years ago
Peter Johnson b930d117d3 Polish up most directive support. This necessitated adding objfmt-specific 23 years ago
Peter Johnson ac655d6bc6 Add vps_next(). 23 years ago
Peter Johnson b2876e5f3a Allow multiple EXTERN's of same variable without error (NASM's behavior). 23 years ago
Peter Johnson 7a3761ac0c Plug memory leak in dvs_delete(). 23 years ago
Peter Johnson 379d2b353c Print "undefined symbol" message for all undefined symbols. Also make a little 23 years ago
Peter Johnson b1257a7992 Bugfix in expr_copy_except(): could allocate less than 2 terms of space (eg, 23 years ago
Peter Johnson 7bdebece8b Don't print out *all* bytecodes in the label's section for every label! 23 years ago
Peter Johnson 9a84b66d1c Don't try to redefine a label for an already existing segment. Thus, add a 23 years ago
Peter Johnson 8cbf2c2312 - Greatly enhance capabilities of directives (they're actually parsed now). 23 years ago
Peter Johnson b963c38833 Change val to be a string instead of an expr. 23 years ago
Peter Johnson 5cd0858637 Add valparam data structure. 23 years ago
Peter Johnson 29f7d9a917 New function: expr_get_symrec(). 23 years ago
Peter Johnson d6d0cb8785 Add symrec_delete() for deleting non-table symbols. Use it from expr_delete(). 23 years ago
Peter Johnson 8178f883a5 Modify so that almost everything passes LCLint with the options in lclint.sh. 23 years ago
Peter Johnson fc603c2900 Add RCSID(). 23 years ago
Peter Johnson 424c30fdaa Allow symrec_foreach return value to be ignored (in lclint). 23 years ago
Peter Johnson 4df0191de8 lclint-ize gettext(). 23 years ago
Peter Johnson 9f97bcd9d0 Fix some nits found by lclint. Still something weird going on with list2 in 23 years ago
Peter Johnson 21eb7c7fe2 Add some lclint annotations. 23 years ago
Peter Johnson d7fe402fb9 Split away x86-specific parts of expression handling (eg, effective address -> 23 years ago
Peter Johnson f58d7cb093 Split x86-specific stuff away from bytecode. 23 years ago
Peter Johnson c9d92847b6 Start framework for separating architecture-dependent functions and data 23 years ago
Peter Johnson a7ac50c918 Add coretype.h, make util.h do a lot more, use util.h to simplify include 23 years ago
Peter Johnson 405df52913 bytecode_print(): Change how NULL values are output for imm and multiple. 23 years ago
Peter Johnson 665eddf5d7 Conditional x* prototypes on !DMALLOC (as they're defined by dmalloc.h if 23 years ago
Peter Johnson 79e945c33c Optimize expression building a bit in expr_new() by eliminating IDENT's here. 23 years ago
Peter Johnson ad7cbcea04 Add memory expressions tests (checkea). 23 years ago
Peter Johnson 00788fa80c Fix errors found in expr_level_op() and checkea_calc_displen() by new test 23 years ago
Peter Johnson 94730125be Missed a free->xfree conversion. 23 years ago
Peter Johnson 10fa8fadc1 Correctly process 32-bit memory expressions in expr_checkea(). 23 years ago
Peter Johnson 305b471f51 On xfree(NULL), just return instead of triggering InternalError(). 23 years ago
Peter Johnson 4d95de5161 Plug memory leaks, and enhance finding later ones with *_delete functions. 23 years ago
Peter Johnson dc1c3c70f5 Get rid of all the extra filename strdup()'s. (Bug #14). 23 years ago
Peter Johnson 7a6eaf8c03 Make InternalError() a bit easier to call. Also, reverse its file and line 23 years ago