Victor van den Elzen
819703afce
Fix multipass inline warning (dis/en)abling
...
Also add a new form: resetting warnings to their original value.
2008-07-16 15:20:56 +02:00
Victor van den Elzen
8f1120ff47
Fix %rep ... %endmacro crash
...
Also improved a comment and an error message.
2008-07-16 13:41:37 +02:00
Victor van den Elzen
1f1f38bcd0
update tests
2008-07-16 12:20:26 +02:00
Victor van den Elzen
c7deefaa3a
fix unitialized variable in eval_strfunc
2008-07-16 12:20:25 +02:00
Victor van den Elzen
c82c372495
Fix fclose bug on error.
...
Contrary to the comments, the fclose is needed.
Failure to close the file caused remove to fail on Windows.
2008-07-16 12:20:23 +02:00
Victor van den Elzen
1b1522fadf
Add a 'make test' target.
2008-07-16 12:20:22 +02:00
Victor van den Elzen
cabec40a39
Improve performtest.pl
...
Improve arguments and documentation of performtest.pl
Remove carriage returns in .stdout/.stderr so *nix can
read Windows test results
2008-07-16 12:20:21 +02:00
H. Peter Anvin
5506e1fdef
changes.src: put \c{...} around macro directives
...
Put \c{...} around macro directives. Not the only ones that should
have that, of course, but they were easy to do with search and replace.
2008-07-14 02:54:00 -04:00
H. Peter Anvin
6477f3d315
changes.src: remove double entry for %warning
2008-07-14 02:49:52 -04:00
H. Peter Anvin
04156cd099
Move the revision history into the documentation
...
Clumsily convert the revision history to nasmdoc format, so it can be
included in the documentation as Appendix C.
2008-07-14 02:45:57 -04:00
H. Peter Anvin
cf6b43476e
doc: document packed BCD constants
2008-07-13 15:55:55 -07:00
H. Peter Anvin
bbf769df01
doc: update NASM Version Macros
...
Clean up and slightly update the section on NASM version macros.
2008-07-13 15:44:25 -07:00
H. Peter Anvin
6621073059
doc: move %error/%warning to a separate section
...
They don't really belong in the section on conditional assembly.
2008-07-13 15:41:36 -07:00
H. Peter Anvin
31b98f5431
doc: Document %strcat
2008-07-13 15:35:07 -07:00
H. Peter Anvin
79fd43b228
Update CHANGES to current delta from 2.03.x.
2008-07-13 15:25:54 -07:00
H. Peter Anvin
96a6954db4
BR 2017453: indirect jumps in 64-bit mode are implicitly 64 bits
...
Indirect jumps in 64-bit mode implicitly have 64-bit operand size.
Fix this; the disassembly is still unnecessarily ugly, however.
2008-07-13 15:21:01 -07:00
H. Peter Anvin
570b1c12b6
test: add test of nested %rep, BCD constants, and %warning
...
Add a test case which has smoked out errors in the handling of nested
%rep, BCD constants, and %warning...
2008-07-13 15:06:55 -07:00
H. Peter Anvin
97b6d5b676
preproc.c: make %warning actually issue a warning...
...
The calculation of "severity" was buggered up, with the result that
%warning actually issued an error.
2008-07-13 15:05:53 -07:00
H. Peter Anvin
cdc69da37c
version.mak for the version Makefile fragment
...
Be consistent about the naming of the version Makefile fragment. We
use .mak elsewhere for Makefiles, so use that.
2008-07-13 13:54:47 -07:00
Charles Crayne
a8ef7ab51d
Fix Bugs item #2017455 (LTR in long mode)
...
LTR is valid in long (64-bit) mode, but still uses
16-bit operand, so remove NOLONG restriction.
2008-07-13 12:52:02 -07:00
Charles Crayne
d4200bed8e
%EXITREP inside nested %REPs
...
Apply updated version of fix submitted with feature request 803785.
This fix causes %exitrep to terminate only the innermost %rep block,
and also allows the count for nested blocks to be calculated in the
containing block.
2008-07-12 16:42:33 -07:00
H. Peter Anvin
386866a345
Add version.make to PERLREQ
...
version.make is produced by a Perl script, and therefore should be in
PERLREQ.
2008-07-05 17:45:01 -07:00
H. Peter Anvin
514c8de2a3
test: simple test of packed BCD.
2008-07-03 20:16:40 -07:00
H. Peter Anvin
63ebf1650c
For consistency, allow 0p.. prefix for packed BCD
...
Allow 0p... to be used as a prefix, for analogy with base conversion.
2008-07-03 20:16:07 -07:00
H. Peter Anvin
45f22924ea
float: support packed-BCD constants in 'dt' statements
...
Support packed-BCD constants in 'dt' statements (and elsewhere 80-bit
floating point is handled), using MASM syntax (terminal 'p').
2008-07-03 20:12:37 -07:00
H. Peter Anvin
5aa689f80d
float: fix buffer overrun
...
Fix a buffer overrun; generally causing hexadecimal constants to be
incorrectly rejected.
2008-07-03 20:11:30 -07:00
H. Peter Anvin
0b826ac316
standard.mac: use anonymous contexts
...
Use anonymous %push instead of giving a context name.
2008-07-02 18:11:49 -07:00
H. Peter Anvin
11dfa1a5a5
preproc: Allow anonymous contexts
...
Allow %push and %repl without a context name. For a lot of uses, it
is only a potential source of namespace pollution.
2008-07-02 18:11:04 -07:00
H. Peter Anvin
accf43334d
Permit commas in %strcat
2008-07-01 21:42:08 -07:00
H. Peter Anvin
f26e097304
preproc: %strcat directive to concatenate quoted strings
...
I noticed there was no sane way to concatenate the contents of quoted
strings, so add the %strcat directive.
These really need to become preprocessor functions at some stage.
2008-07-01 21:26:27 -07:00
H. Peter Anvin
a396a18074
Update the INSTALL file to match current reality
2008-06-28 18:53:55 -07:00
H. Peter Anvin
a50a4449e5
Document case-insensitivity bug.
2008-06-28 18:39:13 -07:00
H. Peter Anvin
a676075b51
test: add a test for %imacro
...
Add a test for case-insensitive matching of %imacro.
2008-06-28 18:32:16 -07:00
H. Peter Anvin
edc510a115
nasmlib: fix nasm_str[n]icmp()
...
Fix nasm_str[n]icmp() on platforms which don't have this function
natively.
XXX: Given the new nasm_tolower() implementation, we should consider
if this might actually be a faster function than the platform-native
one.
2008-06-28 18:31:08 -07:00
H. Peter Anvin
538002dc01
preproc: MMacro.finishes is a pointer, not a boolean
...
MMacro.finishes is a pointer, not a boolean, so set it to "false", not
"NULL".
2008-06-28 18:30:27 -07:00
H. Peter Anvin
f89d681805
AES instructions are WESTMERE, not NEHALEM
...
Still need to make this crap saner...
2008-06-27 11:41:59 -07:00
H. Peter Anvin
7e50d232ba
Make the macros table "unsigned char"
...
It gets less ugly if we make the macros table "unsigned char".
2008-06-25 14:54:14 -07:00
H. Peter Anvin
7b5aad8498
Run "make alldeps"
2008-06-21 18:19:13 -07:00
H. Peter Anvin
18ed99daea
pp_directives_len can be uint8_t
...
Save a few hundred bytes...
2008-06-21 18:18:41 -07:00
H. Peter Anvin
cda816306d
Drop the index tables from the canned macros
...
Instead of an array of strings, just have a character array; that
reduces the size of canned macros by up to 30%, and we only did
sequential access anyway.
2008-06-21 15:15:40 -07:00
H. Peter Anvin
f221b9ee08
Fix a few more <ctype.h> instances
...
A few isolated instances of isalpha() and isxdigit().
2008-06-21 11:03:51 -07:00
H. Peter Anvin
bda7a6e371
ctype.h: wrapper ctype functions with a cast to (unsigned char)
...
ctype functions take an *int*, which the user is expected to have
taken the input character from getc() and friends, or taken a
character and cast it to (unsigned char).
We don't care about EOF (-1), so use macros that cast to (unsigned
char) for us.
2008-06-21 10:23:17 -07:00
H. Peter Anvin
86877b294a
preproc: free the include path and the final filename
...
Memory leaks: free the include path, and the final used filename.
2008-06-20 15:55:45 -07:00
H. Peter Anvin
cfb7176ca2
Move the output format macros into the macros.pl mechanism
...
Move the handling of "extra" macros (i.e. output format macros) into
the macros.pl mechanism. This allows us to change the format of the
internal macro store in the future - e.g. to a single byte store
without redundant pointers.
Also, stop using indicies into a long array when there is no good
reason to not just use different arrays.
2008-06-20 15:20:16 -07:00
H. Peter Anvin
76cbaa4b2e
raa: clean up indentation
...
Clean up in indentation in the RAA code.
2008-06-19 23:19:20 -07:00
H. Peter Anvin
3c7e6b396f
saa: fix indentation
...
Apply standard indentation to the SAA code, not sure why it was
different...
2008-06-19 23:09:11 -07:00
H. Peter Anvin
b2a5fda157
Somewhat more clever way to generate the %use guard macros
...
Automatically generate a %define as the first string in the include
block, and just pick the string out of it from that %define statement
to verify existence. That way we eliminate any use of toupper() --
all case-insensitivity in NASM uses tolower()/nasm_tolower().
2008-06-19 21:42:42 -07:00
H. Peter Anvin
f4ae5ad11b
Protect %use from multi-inclusion and provide a test macro
...
Automatically provide an include guard for %use packages; the macro
__USE_package__ is automatically defined, and inclusion is suppressed
if it is already defined.
2008-06-19 18:39:24 -07:00
H. Peter Anvin
5f9f4007ff
doc: framework for documenting standard macro packages
...
Add a framework for documenting the standard macro packages. Also
move the standard macros to the end of the preprocessor section,
instead of having them in the middle of the directives list.
2008-06-19 16:58:05 -07:00
H. Peter Anvin
926fc40b65
%use: call these directives "standard macro packages"
...
Adopt the term "standard macro packages", "modules" are too
ambiguous.
2008-06-19 16:26:12 -07:00