Charles Crayne
192d5b5e9c
Suppress a few signedness warnings
2007-10-18 19:02:42 -07:00
root
2674b04d88
Avoid unnecessary warning on redefinition of section (bug 801180)
2007-10-18 17:04:10 -07:00
Charles Crayne
f23a5b042c
Generate stabs entries for any executable section
2007-10-17 17:55:45 -07:00
H. Peter Anvin
e911708790
NASM 0.99.05
2007-10-16 22:59:09 -07:00
H. Peter Anvin
a366cac2a6
Tests of obscenely large exponents
2007-10-16 15:46:04 -07:00
H. Peter Anvin
9563910747
Comma-separate contents of __FLOAT__
2007-10-16 14:42:32 -07:00
H. Peter Anvin
f6c9e65d4f
Implement floating-point option control directive
...
New directive [FLOAT] with associated standard macros; allows the
setting to be saved and restored.
2007-10-16 14:40:27 -07:00
H. Peter Anvin
fab3a6c9de
Floating-point warning fixes; fix round-to-overflow
...
Actually generate the appropriate floating-point warnings, and only
one per assembly, pretty please.
Correct the round-to-overflow condition; as written all numbers with a
positive exponent were considered overflows!
2007-10-16 11:48:07 -07:00
H. Peter Anvin
125c878e96
Handle rounding of denorms correctly; make fp overflow a warning
...
- Handle rounding of denorms correctly
- Make fp overflow a warning, not an error (produces Inf)
- Make fp warnings controllable
2007-10-16 11:32:58 -07:00
H. Peter Anvin
630b52013a
Additional entries for .gitignore
2007-10-16 10:35:02 -07:00
H. Peter Anvin
4da5b8c2dd
Refactor floating-point formatting code; fix 80-bit denorms
...
Refactor the floating-point formatting code so that the 80-bit format
can be supported with common code. This fixes 80-bit denorms as a
side effect; the shift value in 80-bit denorms was completely wrong.
2007-10-16 10:32:57 -07:00
H. Peter Anvin
61872221ad
Add 1.5 as a test case: representative of an exact fraction
...
1.5 is an exactly representable fraction, useful for test.
2007-10-16 10:31:16 -07:00
H. Peter Anvin
b2f6fef421
Recognize 'd', 't' and 'y' as radix suffixes
...
'd', 't' and 'y' now recognized as radix suffixes.
2007-10-15 20:06:06 -07:00
H. Peter Anvin
826ffa9c8e
Fix FISTTP opcodes (BR 689695)
2007-10-15 19:53:10 -07:00
H. Peter Anvin
214f549c5c
New floating-point conversion routines
...
Substitute in nasm64developer's "acfloat4" routine. This
floating-point conversion routine is not perfect (it gets a fair
number of LSB errors), but the old NASM code was just plain broken.
nasm64developer's code at least gets within ±1 LSB.
2007-10-15 19:46:32 -07:00
H. Peter Anvin
32f21f16fc
Add testnos3 from the gdtoa package (floating-point test)
2007-10-15 17:48:43 -07:00
H. Peter Anvin
cc94919aa3
.gitignore file doesn't need to be in the release file
2007-10-13 23:19:21 -07:00
H. Peter Anvin
3abe3c51a6
Add .gitignore file so "git status" produces something sane
...
Add .gitignore file to tell git about files that don't need to be
tracked.
2007-10-13 23:17:41 -07:00
H. Peter Anvin
70a5d14b89
autoconf: drop AC_USE_SYSTEM_EXTENSIONS to support autoconf 2.59
...
AC_USE_SYSTEM_EXTENSIONS requires autoconf 2.61, which is still a
little too new, apparently. Unless we have a specific reason to
include it, don't.
2007-10-13 23:12:46 -07:00
Keith Kanios
a5fc6467ab
Fix 32-bit types in preproc.c and eval.c
...
Fix 32-bit types in preproc.c and eval.c that should have been 64-bit
types. This allows %assign to work correctly with 64-bit integers.
2007-10-13 07:09:22 -07:00
Charles Crayne
b263b504bc
Must define types before using them
2007-10-11 20:32:33 -07:00
H. Peter Anvin
4db5a16128
preproc.c: move smacro define/undef to separate functions
...
Instead of tons of replicated code, move smacro define/undef into
separate static functions.
2007-10-11 13:42:09 -07:00
H. Peter Anvin
95e7f957f2
preproc.c: PP_DEFINE and PP_XDEFINE are case-sensitive
...
The statement for case-sensitivity had PP_DEFINE and PP_IXDEFINE,
rather than PP_XDEFINE.
2007-10-11 13:38:38 -07:00
H. Peter Anvin
4bc9f1de73
preproc.c: normalize the handling of case sensitivity
...
Fix a bug relating to case sensitivity, and make remaining code more
similar.
2007-10-11 12:52:03 -07:00
H. Peter Anvin
687b363477
Define macros necessary for <inttypes.h> on C++
...
NASM currently doesn't compile with a C++ compiler, but the error
messages are sometimes useful. Define macros necessary for
<inttypes.h> to work with a C++ compiler.
2007-10-11 12:51:06 -07:00
H. Peter Anvin
51cbf4a1fa
More "bool" fixes
...
A few more variables passed as pointers which are now defined as bool *.
2007-10-11 10:12:58 -07:00
H. Peter Anvin
f8ba53eb2a
preproc.c: allow 64-bit repeat counts
...
Allow the count of %rep to exceed 2^31.
2007-10-11 10:11:57 -07:00
H. Peter Anvin
16ed438e71
preproc.c: For an SMacro, in_progress really is a boolean (no %rep)
2007-10-11 10:06:19 -07:00
H. Peter Anvin
70055964fc
Additional uses of bool and enum
...
Proper use of bool and enum makes code easier to debug. Do more of
it. In particular, we really should stomp out any residual uses of
magic constants that aren't enums or, in some cases, even #defines.
2007-10-11 00:05:57 -07:00
H. Peter Anvin
54901e1785
preproc.c: MMacro.in_progress is not a boolean
...
Per the comment:
* In a MMacro describing a `%rep' block, the `in_progress' field
* isn't merely boolean, but gives the number of repeats left to
* run.
This fixes the "global" directive not getting recognized, since it
repeats over all its arguments.
2007-10-11 00:05:57 -07:00
H. Peter Anvin
d119ce6f9a
saa_fread/fwrite: when seeking, must set [rw]ptr as well
...
[rw]ptr represent the global position and need to be kept in sync with
[rw]pos:[rw]blk at all times. Failed to do that while seeking, with
obviously bad results.
2007-10-10 18:07:51 -07:00
H. Peter Anvin
6867acc18e
Use the compiler-provided booleans if available, otherwise emulate
...
Both C and C++ have "bool", "true" and "false" in lower case; C
requires <stdbool.h> for this, in C++ it is an inherent type built
into the compiler. Use those instead of the old macros; emulate with
a simple typedef enum if unavailable.
2007-10-10 14:58:45 -07:00
H. Peter Anvin
be1b83d24a
owlinux.mak: don't clean things we won't be able to
...
There won't be a Makefile in rdoff in particular, so trying to run
"make clean" there is pointless.
2007-10-10 14:55:14 -07:00
H. Peter Anvin
38a1b8ae9f
configure.in: looks like we need autoconf 2.61 :(
...
AC_USE_SYSTEM_EXTENSIONS is really, *really* useful, but apparently
requires autoconf 2.61...
2007-10-10 14:29:53 -07:00
H. Peter Anvin
fd7dd11345
Create option -Ox to tell NASM to do unlimited passes
...
Add option -Ox to tell NASM to do as many passes as it needs, instead
of imposing a fixed number.
2007-10-10 14:06:59 -07:00
H. Peter Anvin
f57f55c9cb
Revert "floatb.asm: fix broken testcase"
...
This reverts commit d9e3116be1
.
0x513c1704 is 50.49e9, not 50.40e9
2007-10-08 19:26:57 -07:00
H. Peter Anvin
d9e3116be1
floatb.asm: fix broken testcase
...
50.40e9 as a 32-bit float is 0x513c1704
2007-10-08 18:39:24 -07:00
H. Peter Anvin
73ab71f905
saa_rstruct: fix overrun check
...
The direction of the overrun test in saa_rstruct was backwards.
2007-10-08 12:41:00 -07:00
H. Peter Anvin
36a8f95bd0
Add Frank's floattest.asm test file
2007-10-08 12:12:23 -07:00
H. Peter Anvin
a44b587b14
saa_fpwrite: initializing "len" should be part of the loop
...
"len" should properly be initialized on every turn of the loop. It
can be initialized to any value >= blk_len that fits in a size_t.
(size_t)~0 would work except for any possible noncompliant C compilers
that have a signed size_t (illegal per C99 7.17.2).
2007-10-07 21:13:14 -07:00
Charles Crayne
43f699b9bd
Fix infinite loop in function saa_fpwrite
2007-10-07 18:46:57 -07:00
H. Peter Anvin
30c3ad1024
zerobyte.asm: use a real instruction to avoid confusing ndisasm
...
It's useful to be able to disassemble a test case, so avoid mixing
data bytes and code.
2007-10-05 17:44:16 -07:00
H. Peter Anvin
653e03bef5
zerobyte.asm: add test cases for non-initial \170 uses
...
Add test cases for noninitial uses of \170, in order to test for
accidental duplication of REX prefixes.
2007-10-05 17:42:31 -07:00
H. Peter Anvin
5d4fd7accc
Check in the proper zerobyte test
...
The previous checkin checked in zerobyte.bin, not zerobyte.asm
2007-10-05 17:29:01 -07:00
H. Peter Anvin
c189b44032
Emit REX prefix before literal zero (\170)
2007-10-05 17:04:32 -07:00
H. Peter Anvin
a7abb7536d
LICENSE: Break long line
2007-10-05 17:01:15 -07:00
H. Peter Anvin
9d14a10858
Add test for problematic floats
2007-10-05 14:36:03 -07:00
H. Peter Anvin
6b74577d7f
floatx.asm: add Inf and NaN to the boundary condition tests
2007-10-04 23:51:08 -07:00
H. Peter Anvin
6b8abf54d3
floatx.asm: add specific tests for exponent boundary conditions
...
Add tests for the exponent boundaries (underflow, denorm, normal).
2007-10-04 23:09:19 -07:00
H. Peter Anvin
cdb227fa71
float.c: correct the exponent
...
We would accidentally produce an exponent which was exactly +1 from
the correct one.
2007-10-04 22:51:08 -07:00