Age | Commit message (Collapse) | Author | Files | Lines |
|
|
|
Fix reversed test for hexadecimal escape sequence termination.
|
|
Fix a buffer overflow in listing.c (BR 1991797).
Putting this on the nasm-2.03.x branch as a potential candidate for a
patch release.
|
|
The handling of %? in multi-line macros was broken when the macro name
was preceeded by a label; it would expand to the label instead of the
macro name. This was particularly serious since this was used in
the macro implementation of INCBIN.
|
|
|
|
Cut & paste oops...
|
|
Add Unicode and UTF-8 to the index
|
|
|
|
|
|
Split the documentation on string syntax, as a lexical entity, out of
the section about character constants. It was confusing to have
discussion that apply more to string constants than character
constants, and they use the same syntax anyway.
|
|
|
|
This time the comma should actually be there.
|
|
All %if constructs now have %elif/%ifn/%elifn; this is hard-coded into
the preprocessor.
|
|
|
|
|
|
|
|
|
|
It may be "too late" for this to get into 2.03, but I've been whining
that "__OUTPUT_FORMAT__" ought to be documented. Maybe...
|
|
|
|
The dependency list tail pointer wasn't actually updated correctly.
Fix that. We may want to make this a structure of some sort to make
the code a bit cleaner, but this seems to be the cleanest hack for
now.
|
|
|
|
|
|
The XSAVE group are SSE-prefix-sensitive (null prefix), and therefore
take the \360 flag.
|
|
|
|
If DWARF debugging info is requested, and no section
is marked executable, output empty debug sections,
instead of allowing assembler to segfault.
|
|
Some pseudo-instructions (RESB and EQU) seem to make it into the
instruction table. This also generates an instruction table for
zero-length instructions, which of course can never actually be
accessed. Quiet a compiler warning by simply not emitting this
useless table. Ideally we shouldn't emit the pseudo-instructions
either, but that is a bigger change, and it's hardly a lot of memory
involved.
|
|
|
|
|
|
Add %defstr and %idefstr, to define a macro as a quoted string.
|
|
|
|
Allow redefine_label to update segment as well as offset,
thereby fixing bug which required EQU to be on the
critical expression list.
|
|
|
|
|
|
Ownership of the filename string was a bit fuzzy, with the result that
we were freeing it even though it was retained for use by __FILE__.
Clean up a number of other memory management issues with the new
quoting code, and change the stdscan implementation to one pass over
the string.
|
|
|
|
Add quote.c to all the auxiliary Makefiles, and run "make alldeps".
|
|
|
|
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.
|
|
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'.
|
|
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.
|
|
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.
|
|
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.
|
|
|
|
|
|
|
|
|
|
WinHelp/RTF needs to convert \ to \\, but did so on the global data,
so the DIP output was corrupted.
|
|
%pathsearch unquoting should be done on the "t" token, not on the
"tline" token...
|
|
Hopefully backquoted strings should work correctly now.
|
|
First attempt at properly handle quoted strings in the preprocessor.
This also adds range support in %substr.
No support in the assembler yet.
|