function gets a FILE *, and it's the only function that can write to a file.
The object file is thus not opened until AFTER parsing and most error checking
is complete. Necessitated adding a special case for the dbg object format
because it needs to output to the "object" (debug) file from essentially every
function. Added a global (debug_file) to support this.
svn path=/trunk/yasm/; revision=476
"index". This fixes some problems with assumptions made by various parts of
the code that are invalidated when the line number doesn't always increase (eg.
when the NASM %line directive is used).
Speed fixes are needed to the implementation of the line_* functions in
globals.c before this is finished.
svn path=/trunk/yasm/; revision=424
FILE *'s to print to somewhere other than stdout, and the formatting is
improved through the use of a global indent_level.
Changes to main() include the ability to specify an output file.
svn path=/trunk/yasm/; revision=357
objfmt interface changed a lot due to this.
- New variables cur_objfmt and cur_parser that define what objfmt/parser are
active. They're set in main() by searching through the list of objfmts and
parsers. This necessitated libyasm.a to be listed twice in LDADD.
svn path=/trunk/yasm/; revision=343
This is actually worthwhile; I found and fixed a few bugs/edge cases while
doing this.
For more information on LCLint, see <http://lclint.cs.virginia.edu/>.
svn path=/trunk/yasm/; revision=335
to configure to enable profiling and enable -Werror. Make changes to ensure
everything builds with all additional warnings and -Werror enabled. Most of
these changes consist of adding "const" modifiers for functions that get
constant literal strings.
svn path=/trunk/yasm/; revision=252
Cleaned up function naming too.
Removed locallabel_base from global.h, moving it into the parser-specific code.
Made sym_table private to symrec.c.
svn path=/trunk/yasm/; revision=220
better symbol table functions
calling them from yacc rather than lex
a new warning for .label before normal_label
locallabel_base now a symrec* instead of a strdup'd string.
Still needs some more error checking (to not allow multiple copies of
the same label, etc.)
Also includes move to y_strdup for bison.y.in (ANSI compatibility)
svn path=/trunk/yasm/; revision=51