Commit Graph

1129 Commits

Author SHA1 Message Date
H. Peter Anvin
64bd892d7f doc: Remove "what's new" since it is out of date 2008-06-02 18:32:01 -07:00
H. Peter Anvin
fbdd36cf72 quote: Change the definition of escp
Semi-arbitrary change of the definition of escp to the beginning of
the argument sequence instead of the initiator character.  This may
avoid an add in some code paths, and looks slightly cleaner to me.
2008-06-02 13:59:09 -07:00
H. Peter Anvin
2dff954903 quote: be consistent in not using C escapes for bytes
We used numbers in nasm_unquote and C escapes in nasm_quote - use
numbers in both places, just in case some C compiler does something
weird with '\r' and (especially) '\n'.
2008-06-02 10:38:54 -07:00
H. Peter Anvin
e46fec66ca nasm_unquote: make code a little more uniform
Make the code a bit more consistent:

- ndig is now always a countdown, and we always to the (p > escp+1)
  test to see if we got anything at all (this is to deal with stuff
  like \x without a digit.)
- Add missing break; after 'v' (bug!).
- Preinitialize nval to zero.
2008-06-02 10:02:36 -07:00
H. Peter Anvin
1df123bdbf quote: massively simplify nasm_skip_string()
Greatly simplify nasm_skip_string() by observing that for the purpose
of string skipping, all states other than st_backslash are equivalent
to st_start.
2008-06-02 09:57:46 -07:00
H. Peter Anvin
e8a092976e Document UTF-8 conversion better, use "byte" instead of "ASCII"
ASCII specifically refers to characters <= 127, so to use "ASCII" for
literal bytes is really confusing in a multibyte environment.  Give an
example of using Unicode escapes.
2008-06-01 23:00:23 -07:00
H. Peter Anvin
677befc461 Document that underscores in numbers is permitted. 2008-06-01 22:53:15 -07:00
H. Peter Anvin
00fe4e8fde NASM 2.03rc4 2008-06-01 22:37:32 -07:00
H. Peter Anvin
b86e62d826 Update CHANGES 2008-06-01 22:36:56 -07:00
H. Peter Anvin
c23b2a9d47 nasmdoc: document %substr, ... 2008-06-01 22:36:09 -07:00
H. Peter Anvin
39fe51eedf Fix bug where the WinHelp backend corrupts the internal data
WinHelp/RTF needs to convert \ to \\, but did so on the global data,
so the DIP output was corrupted.
2008-06-01 22:34:55 -07:00
H. Peter Anvin
427cc912f8 qstring: fix unquoting in %pathsearch directive
%pathsearch unquoting should be done on the "t" token, not on the
"tline" token...
2008-06-01 21:43:03 -07:00
H. Peter Anvin
6ecc159a54 qstring: backquoted strings seem to work now...
Hopefully backquoted strings should work correctly now.
2008-06-01 21:34:49 -07:00
H. Peter Anvin
8cad14bbcf qstring: first cut at full quoted string support in the preprocessor
First attempt at properly handle quoted strings in the preprocessor.
This also adds range support in %substr.

No support in the assembler yet.
2008-06-01 17:23:51 -07:00
H. Peter Anvin
7f2f8b35e6 qstring: add nasm_unquote() supporting ...
Add a nasm_unquote() function supporting the intended `...` syntax.
2008-06-01 16:07:48 -07:00
H. Peter Anvin
311d27d328 doc: Single section for all the date/time macros
Move all the date/time macros to a common section so we can give a
common example.  We don't have support for a fourth level of headers,
so just use a bulleted list.
2008-05-30 14:32:16 -07:00
H. Peter Anvin
7d6fae6537 doc: fix __UTC_DATE__ and __UTC_TIME__ description 2008-05-30 14:11:40 -07:00
H. Peter Anvin
1d19fbf537 incbin: use the macro name itself as context name
Use the macro name itself as the context name, this is consistent with
other standard macros.
2008-05-30 11:31:35 -07:00
H. Peter Anvin
6353a6c524 Update CHANGES 2008-05-30 11:08:14 -07:00
H. Peter Anvin
e2129a7272 Add missing %rotate directive to the FLOAT macro. 2008-05-30 11:06:28 -07:00
H. Peter Anvin
1b4efa816f incbin definition: use %? 2008-05-30 11:04:07 -07:00
H. Peter Anvin
fd59e0c63c Document %pathsearch and %depend 2008-05-30 11:03:56 -07:00
H. Peter Anvin
418ca70d4e Introduce %depend and %pathsearch, and make incbin a macro
Introduce new preprocessor directives %depend and %pathsearch, and
make incbin a standard macro using these filenames.  This lets us
remove the code that makes incbin search the path.
2008-05-30 10:42:30 -07:00
H. Peter Anvin
5ff39dc78d stdscan.c: clarify comment
There is a reason rn_warn isn't checked in this particular case...
2008-05-30 10:26:28 -07:00
H. Peter Anvin
477f2e5fa9 preproc.c: %include: use expand_smacros() not expand_smacros_in_string()
Call expand_smacros() early instead of expand_smacros_in_string()
late.  expand_smacros_in_string() seems like a prodigiously bad idea
and a sheer brainfart in my opinion.
2008-05-30 10:09:45 -07:00
H. Peter Anvin
e63e62be46 doc: consistent capitalization (and indexing!) of INCBIN 2008-05-30 10:09:24 -07:00
H. Peter Anvin
9e1f528c36 Add the -MP option to emit phony targets
Add the -MP option to emit phony targets.  Since this means each
header file has to be visited more than once, change the
implementation to use an internal list of all the dependencies, and
centralize the emission of the dependency files.
2008-05-29 21:38:00 -07:00
H. Peter Anvin
46fe1eed76 Add new options to CHANGES 2008-05-29 19:29:22 -07:00
H. Peter Anvin
f36c52c92a NASM 2.03rc3 2008-05-29 19:27:35 -07:00
H. Peter Anvin
dbd75f7afc Document the new dependency options. 2008-05-29 19:27:05 -07:00
H. Peter Anvin
07b7b9e15e Implement -MD, -MF, -MT, -MQ
Implement the dependency options:

-MF: set the file to which dependencies are written.
-MD: generate dependencies in parallel with compilation.
-MT: set the name of the dependency target.
-MQ: same as -MT, but *attempt* to quote it for Makefile safety.
2008-05-29 19:09:11 -07:00
H. Peter Anvin
b037a67e68 preproc.c: get_ctx() can return NULL...
Handle the case where we would attempt to look up a possible local
context just to find that one doesn't exist.
2008-05-29 19:08:08 -07:00
H. Peter Anvin
14b015f9d6 Missing % in %ifmacro 2008-05-28 22:11:13 -07:00
H. Peter Anvin
166c247f36 hash user allocates struct hash_table
struct hash_table, a fixed-sized structure, is now allocated by the
caller.  This lets us integrate it into the Context structure, thus
avoiding an additional dynamically allocated object for no good
reason.

Add some minor code collapsing: make it more obvious that all that
differs is a pointer value, rather than relying on the compiler to do
tail merging.
2008-05-28 12:28:58 -07:00
H. Peter Anvin
6e6cd16a45 Merge commit 'autotest/master' 2008-05-27 18:15:39 -07:00
H. Peter Anvin
9b49c49e00 tokhash.pl: fix comment
Correct filename in comment
2008-05-27 14:43:48 -07:00
H. Peter Anvin
b4f4366ff3 regs.pl: add include guards to generated header files
Add include guards to generated header files, and make sure the
appropriate prerequisite headers are included if necessary.
2008-05-27 14:43:14 -07:00
H. Peter Anvin
ad42e0d1fb make alldeps 2008-05-27 14:34:53 -07:00
H. Peter Anvin
85d1beb70e regs.pl: regdis.h needs "extern"; minor cleanups
The declarations in regdis.h need to be "extern", since they are
external data.

regdis.c should include regdis.h.

Minor stylistic cleanups in regs.c.
2008-05-27 14:32:55 -07:00
H. Peter Anvin
54e56de538 NASM 2.03rc2 2008-05-27 14:23:20 -07:00
H. Peter Anvin
92c4704ddb insns.dat: whitespace cleanup 2008-05-27 14:22:19 -07:00
H. Peter Anvin
fd507e7a79 Fix double 66 prefixes on INVEPT/INVVPID (BR 1956955)
Fix double 66 prefixes on INVEPT/INVVPID in 16-bit mode, per BR
1956955.
2008-05-27 14:20:21 -07:00
Andy Polyakov
95cd596352 doc: document Win32/64 SEH extensions
Document COFF extensions for Windows SEH
2008-05-27 14:03:09 -07:00
Andy Polyakov
082dbb471f outcoff.c: remove dead code, add check for imagerel
Remove commented-out (dead) code, add check that the imagerel
references are valid.
2008-05-27 14:01:25 -07:00
H. Peter Anvin
f9ca812cf8 avx.bin: clean up screwy whitespace 2008-05-26 22:52:57 -07:00
H. Peter Anvin
62449a6ce0 VCVTPD2PS, VCVTPD2DQ, VCVTTPD2DQ mem need explicit op size (BR 1974170)
BR 1974170: VCVTPD2PS, VCVTPD2DQ, VCVTTPD2DQ with a memory operand are
ambiguous without a specific operand size, so force one to be added.

Split the instruction pattern due to our current clunky handling of
MMX/XMM/YMM registers together with sizes.  Fix in the future, please!
2008-05-26 22:48:51 -07:00
H. Peter Anvin
4a49b6770f Fix parameters to VCVTPD2DQ (BR 1974159) 2008-05-26 22:42:02 -07:00
H. Peter Anvin
bb4aad4a1f regs.pl: add comments to regflags.c and regvals.c
Add comments to regflags.c and regvals.c, to make it easier to spot
errors.
2008-05-26 19:32:52 -07:00
H. Peter Anvin
4c2529dd77 Fix register numbers for ymm1-15!
ymm1-15 were incorrectly listed as starting at register number 0, with
obviously disastrous consequences...
2008-05-26 19:23:01 -07:00
H. Peter Anvin
9435283319 ndisasm: the high bit of is4 bytes is ignored in 32-bit mode
Mask the high bit of is4 bytes in 32-bit mode.  Provide a generic
"regmask" variable that we can use for equivalent purposes as needed.
2008-05-26 12:03:55 -07:00