]> granicus.if.org Git - yasm/log
yasm
22 years agoStart C conversion. Eliminate bootstrap files.
Peter Johnson [Sun, 7 Apr 2002 22:46:31 +0000 (22:46 -0000)]
Start C conversion.  Eliminate bootstrap files.

svn path=/trunk/yasm/; revision=577

22 years agoInitial revision
Peter Johnson [Sun, 7 Apr 2002 22:27:05 +0000 (22:27 -0000)]
Initial revision

svn path=/trunk/yasm/; revision=573

22 years agoIgnore all yapp preprocessed test files.
Peter Johnson [Sun, 7 Apr 2002 22:15:35 +0000 (22:15 -0000)]
Ignore all yapp preprocessed test files.

svn path=/trunk/yasm/; revision=572

22 years agoIgnore lemon executable.
Peter Johnson [Sun, 7 Apr 2002 22:14:56 +0000 (22:14 -0000)]
Ignore lemon executable.

svn path=/trunk/yasm/; revision=571

22 years agoMerge in FreeBSD patches to lemon.
Peter Johnson [Sun, 7 Apr 2002 21:57:43 +0000 (21:57 -0000)]
Merge in FreeBSD patches to lemon.

svn path=/trunk/yasm/; revision=570

22 years agoBuild lemon (http://www.hwaci.com/sw/lemon/).
Peter Johnson [Sun, 7 Apr 2002 20:59:51 +0000 (20:59 -0000)]
Build lemon (http://www.hwaci.com/sw/lemon/).

svn path=/trunk/yasm/; revision=566

22 years agoConst, shadowing, and prototype fixes.
Peter Johnson [Sun, 7 Apr 2002 20:57:52 +0000 (20:57 -0000)]
Const, shadowing, and prototype fixes.

svn path=/trunk/yasm/; revision=565

22 years agoAdd $IdPath$.
Peter Johnson [Sun, 7 Apr 2002 19:58:57 +0000 (19:58 -0000)]
Add $IdPath$.

svn path=/trunk/yasm/; revision=564

22 years agoMerge in 2002/01/30 Ethereal changes to lemon.
Peter Johnson [Sun, 7 Apr 2002 19:57:33 +0000 (19:57 -0000)]
Merge in 2002/01/30 Ethereal changes to lemon.

svn path=/trunk/yasm/; revision=563

22 years agoMerge in 2002/04/07 lemon master sources.
Peter Johnson [Sun, 7 Apr 2002 19:18:32 +0000 (19:18 -0000)]
Merge in 2002/04/07 lemon master sources.

svn path=/trunk/yasm/; revision=559

22 years agoThis commit was generated by cvs2svn to compensate for changes in r557,
cvs2svn [Sun, 7 Apr 2002 19:14:52 +0000 (19:14 -0000)]
This commit was generated by cvs2svn to compensate for changes in r557,
which included commits to RCS files with non-trunk default branches.

svn path=/trunk/yasm/; revision=558

22 years agoInitial revision
Peter Johnson [Sun, 7 Apr 2002 19:13:03 +0000 (19:13 -0000)]
Initial revision

svn path=/trunk/yasm/; revision=552

22 years agoAdd some splint-suggested cleanups.
Peter Johnson [Fri, 5 Apr 2002 03:17:44 +0000 (03:17 -0000)]
Add some splint-suggested cleanups.

svn path=/trunk/yasm/; revision=551

22 years agoUpdate DISTFILES to reflect src/lclint.sh -> splint.sh move.
Peter Johnson [Thu, 28 Mar 2002 05:23:00 +0000 (05:23 -0000)]
Update DISTFILES to reflect src/lclint.sh -> splint.sh move.

svn path=/trunk/yasm/; revision=550

22 years agoInclude Makefile.inc itself in the distribution!
Peter Johnson [Tue, 26 Mar 2002 03:48:01 +0000 (03:48 -0000)]
Include Makefile.inc itself in the distribution!

svn path=/trunk/yasm/; revision=549

22 years agoCleanups both for and from Splint.
Peter Johnson [Sat, 23 Mar 2002 22:56:08 +0000 (22:56 -0000)]
Cleanups both for and from Splint.

svn path=/trunk/yasm/; revision=548

22 years agoWhen using Splint, don't try to use gettext().
Peter Johnson [Sat, 23 Mar 2002 22:50:49 +0000 (22:50 -0000)]
When using Splint, don't try to use gettext().

svn path=/trunk/yasm/; revision=547

22 years agoCleanups both for and from Splint.
Peter Johnson [Sat, 23 Mar 2002 22:50:24 +0000 (22:50 -0000)]
Cleanups both for and from Splint.

svn path=/trunk/yasm/; revision=546

22 years agoUse -shiftimplementation because it's seeing enums as possibly negative for
Peter Johnson [Sat, 23 Mar 2002 22:49:31 +0000 (22:49 -0000)]
Use -shiftimplementation because it's seeing enums as possibly negative for
the right side of <<.

svn path=/trunk/yasm/; revision=545

22 years agoAdd check for vsnprintf().
Peter Johnson [Sat, 23 Mar 2002 22:45:03 +0000 (22:45 -0000)]
Add check for vsnprintf().

svn path=/trunk/yasm/; revision=544

22 years agoLCLint is now Splint (www.splint.org).
Peter Johnson [Sat, 23 Mar 2002 22:29:09 +0000 (22:29 -0000)]
LCLint is now Splint (www.splint.org).

svn path=/trunk/yasm/; revision=543

22 years agoFix bug in align_section(): if a section has no bytecodes, last will be NULL!
Peter Johnson [Thu, 21 Mar 2002 03:34:48 +0000 (03:34 -0000)]
Fix bug in align_section(): if a section has no bytecodes, last will be NULL!

svn path=/trunk/yasm/; revision=542

22 years agoUpdate to match new Mkfiles files. v0.1.0
Peter Johnson [Tue, 19 Mar 2002 08:34:09 +0000 (08:34 -0000)]
Update to match new Mkfiles files.

svn path=/trunk/yasm/; revision=540

22 years agoUpdate to match configure-based build changes.
Peter Johnson [Tue, 19 Mar 2002 08:26:45 +0000 (08:26 -0000)]
Update to match configure-based build changes.

svn path=/trunk/yasm/; revision=539

22 years agoInclude errno.h to define errno.
Peter Johnson [Tue, 19 Mar 2002 06:03:38 +0000 (06:03 -0000)]
Include errno.h to define errno.

svn path=/trunk/yasm/; revision=538

22 years agoGet the type right for yyin. *sigh* How'd i decide it was a
Michael Urman [Tue, 19 Mar 2002 04:05:41 +0000 (04:05 -0000)]
Get the type right for yyin.  *sigh*  How'd i decide it was a
YY_BUFFER_STATE?

svn path=/trunk/yasm/; revision=537

22 years agofix crash on nonexistent (or otherwise unopenable) include files.
Michael Urman [Tue, 19 Mar 2002 04:02:10 +0000 (04:02 -0000)]
fix crash on nonexistent (or otherwise unopenable) include files.

svn path=/trunk/yasm/; revision=536

22 years agoBump version to 0.1.0.
Peter Johnson [Mon, 18 Mar 2002 09:07:16 +0000 (09:07 -0000)]
Bump version to 0.1.0.

svn path=/trunk/yasm/; revision=535

22 years agoFix make distcheck by eliminating directory components.
Peter Johnson [Mon, 18 Mar 2002 09:06:49 +0000 (09:06 -0000)]
Fix make distcheck by eliminating directory components.

svn path=/trunk/yasm/; revision=534

22 years agoMake a separate Makefile.inc for the yapp/tests directory.
Peter Johnson [Mon, 18 Mar 2002 08:36:44 +0000 (08:36 -0000)]
Make a separate Makefile.inc for the yapp/tests directory.

svn path=/trunk/yasm/; revision=533

22 years agoAdd some bin objfmt related testcases. These should go into a framework
Peter Johnson [Mon, 18 Mar 2002 08:23:39 +0000 (08:23 -0000)]
Add some bin objfmt related testcases.  These should go into a framework
sometime!

svn path=/trunk/yasm/; revision=532

22 years agoRecursively expand EQU's.
Peter Johnson [Mon, 18 Mar 2002 08:16:03 +0000 (08:16 -0000)]
Recursively expand EQU's.

svn path=/trunk/yasm/; revision=531

22 years agoCorrectly output float expressions.
Peter Johnson [Mon, 18 Mar 2002 08:01:04 +0000 (08:01 -0000)]
Correctly output float expressions.

svn path=/trunk/yasm/; revision=530

22 years agoAdd expr_get_floatnum().
Peter Johnson [Mon, 18 Mar 2002 08:00:39 +0000 (08:00 -0000)]
Add expr_get_floatnum().

svn path=/trunk/yasm/; revision=529

22 years agoRestructure bc_calc_len() family into bc_resolve() family. Many many many
Peter Johnson [Mon, 18 Mar 2002 07:16:52 +0000 (07:16 -0000)]
Restructure bc_calc_len() family into bc_resolve() family.  Many many many
bugfixes to the bc_tobytes() family and other functions.  Binary object output
is now close to complete: just a few more bugs to kill!

svn path=/trunk/yasm/; revision=528

22 years agoFix a number of bugs in x86_checkea_calc_displen().
Peter Johnson [Mon, 18 Mar 2002 07:14:14 +0000 (07:14 -0000)]
Fix a number of bugs in x86_checkea_calc_displen().

svn path=/trunk/yasm/; revision=527

22 years agoComment additions.
Peter Johnson [Mon, 18 Mar 2002 07:12:57 +0000 (07:12 -0000)]
Comment additions.

svn path=/trunk/yasm/; revision=526

22 years agoFix slight whitespace issue - don't append whitespace after closing
Michael Urman [Mon, 18 Mar 2002 03:11:07 +0000 (03:11 -0000)]
Fix slight whitespace issue - don't append whitespace after closing
paren to beginning of expansion of %define with parameters.

svn path=/trunk/yasm/; revision=525

22 years agodefines with parameters seem to work. wow. i need some more test
Michael Urman [Mon, 18 Mar 2002 03:07:46 +0000 (03:07 -0000)]
defines with parameters seem to work.  wow.  i need some more test
cases, cause i'm pretty sure i have to have missed something.

svn path=/trunk/yasm/; revision=524

22 years agoTests for define with parameters.
Michael Urman [Mon, 18 Mar 2002 03:02:54 +0000 (03:02 -0000)]
Tests for define with parameters.

svn path=/trunk/yasm/; revision=523

22 years agoLots of preparations for expanding %defines with argument lists:
Michael Urman [Sun, 17 Mar 2002 21:58:42 +0000 (21:58 -0000)]
Lots of preparations for expanding %defines with argument lists:
 - several global struct source_head's have become localized to allow
   recursion
 - a few more helper functions, etc.
No change in the output yet, except in the previously unsupported cases.

svn path=/trunk/yasm/; revision=522

22 years agoBinary object format output! Lots of structural changes needed, particularly
Peter Johnson [Sun, 17 Mar 2002 21:58:36 +0000 (21:58 -0000)]
Binary object format output!  Lots of structural changes needed, particularly
with regards to resolve_label().
MAJOR FIXME: The tobytes() pass acts like a final optimization pass.  This
causes internal errors because of length mismatches (optimized to shorter len).

svn path=/trunk/yasm/; revision=521

22 years agoMake call instruction work correctly. The old code generated a legal short
Peter Johnson [Sun, 17 Mar 2002 21:55:53 +0000 (21:55 -0000)]
Make call instruction work correctly.  The old code generated a legal short
form for it (opcode length 1, opcode 0, rather than opcode length 0).

svn path=/trunk/yasm/; revision=520

22 years agoRemove debugging print statement added in previous commit.
Peter Johnson [Sun, 17 Mar 2002 20:19:29 +0000 (20:19 -0000)]
Remove debugging print statement added in previous commit.

svn path=/trunk/yasm/; revision=519

22 years agoMake call instruction work correctly. The old code generated a legal short
Peter Johnson [Sun, 17 Mar 2002 20:18:24 +0000 (20:18 -0000)]
Make call instruction work correctly.  The old code generated a legal short
form for it (opcode length 1, opcode 0, rather than opcode length 0).

svn path=/trunk/yasm/; revision=518

22 years agoFix bug in 32-bit displacement with no registers.
Peter Johnson [Sun, 17 Mar 2002 10:06:44 +0000 (10:06 -0000)]
Fix bug in 32-bit displacement with no registers.

svn path=/trunk/yasm/; revision=517

22 years agoRemoved spurious src/tests/yapp_test from CLEANFILES (*bewildered look*)
Michael Urman [Sun, 17 Mar 2002 06:59:46 +0000 (06:59 -0000)]
Removed spurious src/tests/yapp_test from CLEANFILES (*bewildered look*)

svn path=/trunk/yasm/; revision=516

22 years agoDon't block global src variable. While I'm here, change to use SLIST_FOREACH.
Peter Johnson [Sun, 17 Mar 2002 06:03:36 +0000 (06:03 -0000)]
Don't block global src variable.  While I'm here, change to use SLIST_FOREACH.

svn path=/trunk/yasm/; revision=515

22 years agoNow that whitespace is mostly preserved, no need for the next token for
Michael Urman [Sun, 17 Mar 2002 05:23:56 +0000 (05:23 -0000)]
Now that whitespace is mostly preserved, no need for the next token for
guessing whitespace insertion.

svn path=/trunk/yasm/; revision=514

22 years agoHandle recursive %defines properly.
Michael Urman [Sun, 17 Mar 2002 01:07:10 +0000 (01:07 -0000)]
Handle recursive %defines properly.

svn path=/trunk/yasm/; revision=513

22 years agoTests for recursive %defines.
Michael Urman [Sun, 17 Mar 2002 01:06:16 +0000 (01:06 -0000)]
Tests for recursive %defines.

svn path=/trunk/yasm/; revision=512

22 years agoHandle %define to %define - caught use of a global in a recursive func.
Michael Urman [Sun, 17 Mar 2002 00:48:56 +0000 (00:48 -0000)]
Handle %define to %define - caught use of a global in a recursive func.
Fix how %defines get built - append_through_return -> append_to_return.

svn path=/trunk/yasm/; revision=511

22 years agotest case for %define to a %define. non-recursive.
Michael Urman [Sun, 17 Mar 2002 00:47:19 +0000 (00:47 -0000)]
test case for %define to a %define.  non-recursive.

svn path=/trunk/yasm/; revision=510

22 years agoCatch a few missing inhibited directives (not implemented yet anyway).
Michael Urman [Sun, 17 Mar 2002 00:28:15 +0000 (00:28 -0000)]
Catch a few missing inhibited directives (not implemented yet anyway).
Preserve non-trailing whitespace (cleaner look, supports %define foo()).
Condense %line, \n or %line, %line into single %line.

svn path=/trunk/yasm/; revision=509

22 years agoHandle output inhibition more properly; %includes inside %ifs don't
Michael Urman [Sat, 16 Mar 2002 23:32:31 +0000 (23:32 -0000)]
Handle output inhibition more properly; %includes inside %ifs don't
actually %include, etc.
Also fix starting line to be 1, not 0.

svn path=/trunk/yasm/; revision=508

22 years agoSeveral new tests.
Michael Urman [Sat, 16 Mar 2002 23:30:48 +0000 (23:30 -0000)]
Several new tests.

svn path=/trunk/yasm/; revision=507

22 years agoCatch "errors" and update report format
Michael Urman [Sat, 16 Mar 2002 22:19:16 +0000 (22:19 -0000)]
Catch "errors" and update report format

svn path=/trunk/yasm/; revision=506

22 years agoAdd ifdef tests.
Michael Urman [Sat, 16 Mar 2002 22:17:01 +0000 (22:17 -0000)]
Add ifdef tests.

svn path=/trunk/yasm/; revision=505

22 years agoadd beginnings of test suite for yapp
Michael Urman [Sat, 16 Mar 2002 21:27:11 +0000 (21:27 -0000)]
add beginnings of test suite for yapp

svn path=/trunk/yasm/; revision=504

22 years agoreturn [ and ] characters
Michael Urman [Sat, 16 Mar 2002 20:59:04 +0000 (20:59 -0000)]
return [ and ] characters

svn path=/trunk/yasm/; revision=503

22 years agoRemoved spurious include of objfmt
Michael Urman [Sat, 16 Mar 2002 20:58:36 +0000 (20:58 -0000)]
Removed spurious include of objfmt
Added some debugging printf to isolate and fix failing define case

svn path=/trunk/yasm/; revision=502

22 years agoRemove some spurious includes.
Michael Urman [Sat, 16 Mar 2002 18:25:04 +0000 (18:25 -0000)]
Remove some spurious includes.

svn path=/trunk/yasm/; revision=501

22 years agoDon't call bc_resolve (it's going away soon).
Peter Johnson [Fri, 15 Mar 2002 22:19:58 +0000 (22:19 -0000)]
Don't call bc_resolve (it's going away soon).
FIXME: Do we really need to check completion of all sections?

svn path=/trunk/yasm/; revision=500

22 years agoAdd autom4te.cache.
Peter Johnson [Fri, 15 Mar 2002 07:00:56 +0000 (07:00 -0000)]
Add autom4te.cache.

svn path=/trunk/yasm/; revision=499

22 years agoSwitch to requiring autoconf 2.50. We should really be using configure.ac
Peter Johnson [Fri, 15 Mar 2002 07:00:12 +0000 (07:00 -0000)]
Switch to requiring autoconf 2.50.  We should really be using configure.ac
instead of configure.in for the autoconf input file, but gettextize 0.10.35
complains if configure.in does not exist.

svn path=/trunk/yasm/; revision=498

22 years agoSwitch to requiring autoconf 2.50. We should really be using configure.ac
Peter Johnson [Fri, 15 Mar 2002 07:00:12 +0000 (07:00 -0000)]
Switch to requiring autoconf 2.50.  We should really be using configure.ac
instead of configure.in for the autoconf input file, but gettextize 0.10.35
complains if configure.in does not exist.

svn path=/trunk/yasm/; revision=497

22 years agoAdd bcs_last() macro.
Peter Johnson [Thu, 14 Mar 2002 06:40:07 +0000 (06:40 -0000)]
Add bcs_last() macro.

svn path=/trunk/yasm/; revision=496

22 years agoOnly check for dmalloc library and dmalloc.h if --enable-dmalloc is used. This
Peter Johnson [Thu, 14 Mar 2002 05:58:42 +0000 (05:58 -0000)]
Only check for dmalloc library and dmalloc.h if --enable-dmalloc is used.  This
prevents it being linked in even if it isn't enabled.

svn path=/trunk/yasm/; revision=495

22 years agoOnly check for dmalloc library and dmalloc.h if --enable-dmalloc is used. This
Peter Johnson [Thu, 14 Mar 2002 05:58:42 +0000 (05:58 -0000)]
Only check for dmalloc library and dmalloc.h if --enable-dmalloc is used.  This
prevents it being linked in even if it isn't enabled.

svn path=/trunk/yasm/; revision=494

22 years agoMake duplicate definition (w/regards to COMMON and EXTERN) work properly.
Peter Johnson [Thu, 14 Mar 2002 04:26:03 +0000 (04:26 -0000)]
Make duplicate definition (w/regards to COMMON and EXTERN) work properly.

svn path=/trunk/yasm/; revision=493

22 years agoMove static structures from .h to .c, include .h in .l.
Peter Johnson [Wed, 13 Mar 2002 04:53:47 +0000 (04:53 -0000)]
Move static structures from .h to .c, include .h in .l.

svn path=/trunk/yasm/; revision=492

22 years agoFix warning.
Peter Johnson [Tue, 12 Mar 2002 05:45:50 +0000 (05:45 -0000)]
Fix warning.

svn path=/trunk/yasm/; revision=491

22 years agoAdd bin object format.
Peter Johnson [Sun, 10 Mar 2002 23:15:14 +0000 (23:15 -0000)]
Add bin object format.
Changes to:
 objfmt interface: added parameter to directive() for sections access.
 section interface: moved start to be present for all section types.
 basic optimizer: add section start to offset determination.
(much of the section start changes are due to the need to make sure offsets
don't end up being optimized into byte-sized offsets that can't be relocated).

svn path=/trunk/yasm/; revision=490

22 years agoAllow replacing with no extension (eg w/o an appended '.'). Needed for bin
Peter Johnson [Sun, 10 Mar 2002 23:07:20 +0000 (23:07 -0000)]
Allow replacing with no extension (eg w/o an appended '.').  Needed for bin
objfmt output.

svn path=/trunk/yasm/; revision=489

22 years agoMove BitCount() macro from hamt.c to util.h.
Peter Johnson [Sun, 10 Mar 2002 20:21:50 +0000 (20:21 -0000)]
Move BitCount() macro from hamt.c to util.h.

svn path=/trunk/yasm/; revision=488

22 years agoAdd yapp-token.c.
Peter Johnson [Sun, 10 Mar 2002 06:04:29 +0000 (06:04 -0000)]
Add yapp-token.c.

svn path=/trunk/yasm/; revision=487

22 years agoFixed some warnings.
Michael Urman [Sun, 10 Mar 2002 02:41:44 +0000 (02:41 -0000)]
Fixed some warnings.
The wussy way, cause i didn't comment any of the new prototypes.

svn path=/trunk/yasm/; revision=486

22 years agoAdd const char *in_filename arguments to
Michael Urman [Thu, 7 Mar 2002 08:50:39 +0000 (08:50 -0000)]
Add const char *in_filename arguments to
 - preproc initialize function
 - parser parse function (to pass to preproc initialize)
so that the preprocessor has a clue what file it's in.

svn path=/trunk/yasm/; revision=484

22 years agoYAPP has arrived.
Michael Urman [Thu, 7 Mar 2002 08:32:22 +0000 (08:32 -0000)]
YAPP has arrived.

Or at least it has begun.  At this point it can only handle:
%define
%if*def
%el*def
%else
%endif
%include (to some degree; needs a lot of thought, but recurses fine)
and replacing simple %defines (like %define foo bar)

And like all code, it's probably horribly inconsistent about variable
names, etc.  We'll wash it later.

svn path=/trunk/yasm/; revision=483

22 years agoUpdate main files to include support for yapp.
Michael Urman [Thu, 7 Mar 2002 08:26:50 +0000 (08:26 -0000)]
Update main files to include support for yapp.
This includes defaulting to yapp for ./yasm -e passes.

svn path=/trunk/yasm/; revision=482

22 years agoEnhance bc_resolve() implementation a bit, but comment out, as this function
Peter Johnson [Thu, 7 Mar 2002 07:40:40 +0000 (07:40 -0000)]
Enhance bc_resolve() implementation a bit, but comment out, as this function
will probably disappear in the near future (its functionality will be handled
directly by the object format module without the need for another pass).

svn path=/trunk/yasm/; revision=481

22 years agoSupport NASM syntax of options such as -fobj (as well as -f obj).
Peter Johnson [Wed, 6 Mar 2002 08:23:29 +0000 (08:23 -0000)]
Support NASM syntax of options such as -fobj (as well as -f obj).

svn path=/trunk/yasm/; revision=480

22 years agoAllow preprocess-only and setting of preproc. Update main() and related
Peter Johnson [Wed, 6 Mar 2002 06:02:21 +0000 (06:02 -0000)]
Allow preprocess-only and setting of preproc.  Update main() and related
functions to be a bit more clean.

svn path=/trunk/yasm/; revision=479

22 years agoUpdate bug mailing address to <bug-yasm@tortall.net>.
Peter Johnson [Wed, 6 Mar 2002 05:59:19 +0000 (05:59 -0000)]
Update bug mailing address to <bug-yasm@tortall.net>.

svn path=/trunk/yasm/; revision=478

22 years agoUse non-preprocessed BITS directive so this can be assembled with current YASM.
Peter Johnson [Sat, 2 Mar 2002 22:39:35 +0000 (22:39 -0000)]
Use non-preprocessed BITS directive so this can be assembled with current YASM.

svn path=/trunk/yasm/; revision=477

22 years agoRevamp object format functional interface a bit. Now, only the output()
Peter Johnson [Wed, 27 Feb 2002 05:43:16 +0000 (05:43 -0000)]
Revamp object format functional interface a bit.  Now, only the output()
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

22 years agoEnable second pass (resolve/calculate known values).
Peter Johnson [Wed, 27 Feb 2002 05:40:46 +0000 (05:40 -0000)]
Enable second pass (resolve/calculate known values).

svn path=/trunk/yasm/; revision=475

22 years agoInclude errwarn.h to declare ErrorAt().
Peter Johnson [Thu, 21 Feb 2002 05:30:48 +0000 (05:30 -0000)]
Include errwarn.h to declare ErrorAt().

svn path=/trunk/yasm/; revision=474

22 years agoTest circular reference detection. Very basic examples from NASM's docs on
Peter Johnson [Wed, 20 Feb 2002 08:16:13 +0000 (08:16 -0000)]
Test circular reference detection.  Very basic examples from NASM's docs on
critical expressions.
NASM behavior: 1-3 fail, 4 generates a 4-byte offset in the memory expression.
YASM behavior: 1&2 fail (and rightfully so :), 3 works as expected, and 4
 generates a 1-byte offset.

svn path=/trunk/yasm/; revision=473

22 years agoIndicate actual line number of circular reference error.
Peter Johnson [Wed, 20 Feb 2002 08:05:10 +0000 (08:05 -0000)]
Indicate actual line number of circular reference error.

svn path=/trunk/yasm/; revision=472

22 years agoBring up-to-date with traverse function changes. Start trying to check for
Peter Johnson [Wed, 20 Feb 2002 07:43:26 +0000 (07:43 -0000)]
Bring up-to-date with traverse function changes.  Start trying to check for
circular references.

svn path=/trunk/yasm/; revision=471

22 years agoCorrect optimize() comment.
Peter Johnson [Wed, 20 Feb 2002 07:40:13 +0000 (07:40 -0000)]
Correct optimize() comment.

svn path=/trunk/yasm/; revision=470

22 years agoTerminate & cleanup early if an error occurs during the optimization phase.
Peter Johnson [Wed, 20 Feb 2002 07:39:27 +0000 (07:39 -0000)]
Terminate & cleanup early if an error occurs during the optimization phase.

svn path=/trunk/yasm/; revision=469

22 years agoReverse how traverse functions do early termination (now, they terminate on
Peter Johnson [Wed, 20 Feb 2002 07:38:41 +0000 (07:38 -0000)]
Reverse how traverse functions do early termination (now, they terminate on
a non-zero func return and return the value func returned).  Document the
changes in the header files.

svn path=/trunk/yasm/; revision=468

22 years agoFix issue with how symrec's are handled when an expression is copied: old code
Peter Johnson [Wed, 20 Feb 2002 07:35:43 +0000 (07:35 -0000)]
Fix issue with how symrec's are handled when an expression is copied: old code
just assigned the pointer: but the symrec is deleted (if it's not in the symbol
table) when the expr is deleted.  Thus, we need to create a copy of the symrec
instead of just reusing the same value if it's going to be deleted later.  This
trickles down to objfmt to copy the objfmt-local data.

svn path=/trunk/yasm/; revision=467

22 years agoAdded --version option. Pass option descriptions, --help, and --version
Peter Johnson [Thu, 14 Feb 2002 09:04:20 +0000 (09:04 -0000)]
Added --version option.  Pass option descriptions, --help, and --version
messages through gettext.  Rework handling of --version and --help.

svn path=/trunk/yasm/; revision=466

22 years agoAdd semicolon at end of error handling code to fix syntax errors. Only seen
Peter Johnson [Wed, 13 Feb 2002 05:32:30 +0000 (05:32 -0000)]
Add semicolon at end of error handling code to fix syntax errors.  Only seen
on Cygwin so far, but a legitimate error.

svn path=/trunk/yasm/; revision=465

23 years agoBring up-to-date with tree and build changes.
Peter Johnson [Sat, 2 Feb 2002 05:08:39 +0000 (05:08 -0000)]
Bring up-to-date with tree and build changes.

svn path=/trunk/yasm/; revision=464

23 years agoEnhance error/warning framework by allowing specific warnings to be disabled,
Peter Johnson [Sun, 13 Jan 2002 08:53:24 +0000 (08:53 -0000)]
Enhance error/warning framework by allowing specific warnings to be disabled,
all warnings to be disabled, and warnings to be treated as errors, much in the
style of GNU tools such as gcc.

svn path=/trunk/yasm/; revision=463

23 years agoCheck for param=NULL before dereferencing it in sopt case.
Peter Johnson [Sun, 13 Jan 2002 01:10:19 +0000 (01:10 -0000)]
Check for param=NULL before dereferencing it in sopt case.

svn path=/trunk/yasm/; revision=462