| Commit message (Collapse) | Author | Age | Files | Lines |
|
|
|
|
|
|
|
| |
Sometimes we want to search for an exact key only, and reject the case
when tree->key < key. Add rb_search_exact() for this purpose, rather
than forcing the caller to perform the comparison in open code.
Signed-off-by: H. Peter Anvin (Intel) <hpa@zytor.com>
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
Add operations to get the first and last entry in the tree,
respectively. Searching for 0 or ~UINT64_C(0) is not sufficient in the
presence of duplicated keys, and is more inefficient anyway.
rb_first() followed by rb_next() until NULL, or equivalently rb_last()
followed by rb_prev() until NULL, can be used to walk the tree in key
order (ascending or descending), including all duplicate key
entries.
Since this is a *threaded* tree now, this walk can safely free entires
as it goes along, as long as the whole tree is destroyed; once any one
entry has been freed, the tree is no longer valid for anything other
than proceeding with the same tree walk.
Signed-off-by: H. Peter Anvin (Intel) <hpa@zytor.com>
|
|\ |
|
| |
| |
| |
| |
| |
| |
| |
| | |
The %line directives in weirdpaste.i now better reflect the actual
lines of the source code, just as we would have for debugging
output. Update the reference version of weirdpaste.i accordingly.
Signed-off-by: H. Peter Anvin <hpa@zytor.com>
|
|\ \
| |/ |
|
| |
| |
| |
| |
| |
| |
| |
| |
| | |
%+ tokens can end up next to each other, or at the beginning or the
end of an expansion if we try to paste the output of empty
macros. This is perhaps particularly likely to happen in %[]
expressions.
Signed-off-by: H. Peter Anvin (Intel) <hpa@zytor.com>
|
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| | |
1. Error messages would issue with the line number of %endrep.
2. Debug line information would ignore both macros and reps.
This is doubly wrong; macros are semantically equivalent to
inline functions, and it is expected that debuggers trace
into these functions.
These changes finishes the last parts of moving all responsibility for
the listing enable/disable into the preprocessor, so remove the
way over-complicated macro inhibit facility from the listing module
entirely.
Signed-off-by: H. Peter Anvin (Intel) <hpa@zytor.com>
|
| |
| |
| |
| |
| |
| |
| |
| |
| | |
In preproc-only mode, we only ever execute a single pass, so we need
to still issue error messages created during that pass, otherwise we
don't even generate %warning or %error messages...
Reported-by: Jason Hood <jadoxa@yahoo.com.au>
Signed-off-by: H. Peter Anvin (Intel) <hpa@zytor.com>
|
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| | |
It appears that at least with the Adobe Source fonts:
'hyphen' -> U+002D (ASCII)
'minus' -> U+2212
This is ugly for cut & paste purposes.
Reported-by: C. Masloch <pushbx@ulukai.org>
Signed-off-by: H. Peter Anvin (Intel) <hpa@zytor.com>
|
| |
| |
| |
| |
| |
| | |
Just to eliminate warning, nothing serious.
Signed-off-by: Cyrill Gorcunov <gorcunov@gmail.com>
|
| |
| |
| |
| |
| |
| |
| |
| |
| |
| | |
Otherwise getting building problem
> output/outlib.c:197:6: error: no previous prototype for ‘ol_add_sym_to’ [-Werror=missing-prototypes]
> 197 | void ol_add_sym_to(struct ol_symlist *syml, struct ol_symhead *head,
> | ^~~~~~~~~~~~~
Signed-off-by: Cyrill Gorcunov <gorcunov@gmail.com>
|
| |
| |
| |
| |
| |
| |
| |
| |
| | |
recursion: see recursion.
A wrapper function needs to call the function being wrapped, not
itself.
Signed-off-by: H. Peter Anvin (Intel) <hpa@zytor.com>
|
|\ \
| |/ |
|
| |
| |
| |
| |
| |
| |
| | |
The mailinglists have been migrated to lists.nasm.us
Signed-off-by: Jasper Lievisse Adriaanse <j@jasper.la>
Signed-off-by: H. Peter Anvin (Intel) <hpa@zytor.com>
|
| | |
|
| |
| |
| |
| | |
Signed-off-by: H. Peter Anvin (Intel) <hpa@zytor.com>
|
| |
| |
| |
| |
| |
| | |
mkdep.pl wants a / regardless of what the target path separator is.
Signed-off-by: H. Peter Anvin (Intel) <hpa@zytor.com>
|
| |
| |
| |
| |
| |
| |
| |
| | |
Move the safe_alloc declaration after the * symbol to be consistent
with all other functions with this attribute. Just in case it matters
somewhere...
Signed-off-by: H. Peter Anvin (Intel) <hpa@zytor.com>
|
| |
| |
| |
| |
| |
| |
| |
| |
| | |
The autoconf process automatically generates macros for function
attributes, including empty placeholders. Said empty placeholders also
propagate automatically into config/unconfig.h for the compilers which
don't support autoconf.
Signed-off-by: H. Peter Anvin (Intel) <hpa@zytor.com>
|
|\ \
| |/
| |
| | |
NASM 2.15.02rc2
|
| | |
|
| |
| |
| |
| |
| |
| |
| | |
expand_mmac_params_range() lost its "static" in checkin
e99a946390e561804bf624a1e67f25ae34b13dfd. Put it back.
Signed-off-by: H. Peter Anvin (Intel) <hpa@zytor.com>
|
|\ \
| |/
| |
| |
| |
| |
| | |
Resolved Conflicts:
version
Signed-off-by: H. Peter Anvin (Intel) <hpa@zytor.com>
|
| | |
|
| |
| |
| |
| | |
Signed-off-by: H. Peter Anvin (Intel) <hpa@zytor.com>
|
| |
| |
| |
| |
| |
| |
| | |
Don't try to merge the version file... if there is a conflict, keep
the current version.
Signed-off-by: H. Peter Anvin (Intel) <hpa@zytor.com>
|
| |
| |
| |
| |
| |
| | |
The tools we need to build the documentation.
Signed-off-by: H. Peter Anvin (Intel) <hpa@zytor.com>
|
| |
| |
| |
| |
| |
| |
| | |
Note that the extended DB syntax is also available, regardless of if
%use masm is used or not.
Signed-off-by: H. Peter Anvin (Intel) <hpa@zytor.com>
|
| |
| |
| |
| |
| |
| | |
Add a test for %{1:1}, as reported in BR 3392611.
Signed-off-by: H. Peter Anvin (Intel) <hpa@zytor.com>
|
| |
| |
| |
| | |
Signed-off-by: H. Peter Anvin (Intel) <hpa@zytor.com>
|
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| | |
Fix the handling of %{:} macro operands. Use the same code for
expanding the subarguments as for normal arguments.
This (hopefully) resolves the following bug reports:
BR 3392611, BR 3392686, BR 3392688
Reported-by: <coconutfaistoslimeregistry@gmail.com>
Reported-by: Jasper Lievisse Adriaanse <r+nasm@jasper.la>
Reported-by: Jason Hood <jadoxa@yahoo.com.au>
Signed-off-by: H. Peter Anvin (Intel) <hpa@zytor.com>
|
| |
| |
| |
| |
| |
| | |
Begin the release note list for 2.15.02.
Signed-off-by: H. Peter Anvin (Intel) <hpa@zytor.com>
|
| |
| |
| |
| |
| |
| |
| |
| | |
There is no reason to mention an ancient Amiga assembler as the source
for INCBIN, especially since it is supported by quite a few other
assemblers.
Signed-off-by: H. Peter Anvin (Intel) <hpa@zytor.com>
|
| |
| |
| |
| |
| |
| | |
Add a "db-empty" warning class to allow suppressing warnings.
Signed-off-by: H. Peter Anvin (Intel) <hpa@zytor.com>
|
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| | |
clang, unlike gcc, will warn on inline functions which are
unused. This can happen if a function is either intended to be used in
the future, or it is only used under certain config options. Mark
those functions with the "unused" attribute; not only does it quiet
the warning, but it also documents it for the user.
Shuffle around the warning options in configure and add a few more
that are specific to clang.
Signed-off-by: H. Peter Anvin (Intel) <hpa@zytor.com>
|
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| | |
The actual pointer value in offsetin() cancels out, but clang still
miscompiles offsetin() for an uninitialized pointer, considering the
value to be completely undefined. Initialize pointer being passed to
offsetin() to make clang happy; both the gcc and clang optimizers
discover later in the code that the initialization is unused and
removes it from the code.
Although technically undefined behavior, this is in my opinion a
severe quality of implementation bug in clang, and I will file a bug
report accordingly.
Reported-by: Jasper Lievisse Adriaanse <r+nasm@jasper.la>
Reported-by: David Bohman <debohman@gmail.com>
Signed-off-by: H. Peter Anvin (Intel) <hpa@zytor.com>
|
| |
| |
| |
| |
| |
| |
| |
| | |
The name UNUSED is too generic and may conflict with future
macro definitions. This is machine-generated code anyway, so
rename UNUSED to UNUSED_HASH_ENTRY.
Signed-off-by: H. Peter Anvin (Intel) <hpa@zytor.com>
|
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| | |
<res ...> can get rather annoying when mixed in with data, as can
happen with the MASM-like db syntax. List shorter blocks (8 bytes or
less) as ?? instead; 8 bytes avoids line breaks for a single
statement.
This is probably more readable anyway...
Signed-off-by: H. Peter Anvin (Intel) <hpa@zytor.com>
|
| |
| |
| |
| |
| |
| |
| | |
Use a percentage size modifier for code/pre, which hopefully should
allow it to respect enclosing size modifications (for headings.)
Signed-off-by: H. Peter Anvin (Intel) <hpa@zytor.com>
|
| |
| |
| |
| |
| |
| | |
Use a smaller font size for code text, just as for ps/pdf.
Signed-off-by: H. Peter Anvin (Intel) <hpa@zytor.com>
|
| |
| |
| |
| |
| |
| | |
Helps to actually use what is intended.
Signed-off-by: H. Peter Anvin (Intel) <hpa@zytor.com>
|
| |
| |
| |
| |
| |
| |
| | |
The text looks better using a smaller font for both inline code and
code paragraphs.
Signed-off-by: H. Peter Anvin (Intel) <hpa@zytor.com>
|
| |
| |
| |
| |
| |
| |
| |
| |
| |
| | |
When a warning documentation message contains more than one paragraph,
we have to indent the subsequent paragraphs using \> unless they are a
code paragraph (\c).
Improve a few warnings doc messages.
Signed-off-by: H. Peter Anvin (Intel) <hpa@zytor.com>
|
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| | |
Change the left-leaning red-black (LLRB) trees into left-leaning
threaded red-black trees. Instead of NULL pointers at leaf nodes, use
the otherwise unused field as a pointer to the lexical predecessor
(left) or successor (right). This allows fast previous/next
interator operation without needing to keep track of the root of the
tree at all times.
The additional metadata that needs to be kept can be done for "free"
simply by changing "bool red" into a flag field.
Signed-off-by: H. Peter Anvin (Intel) <hpa@zytor.com>
|
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| | |
Pretty much all the backends have to do the same gymnastics to handle
symbols and sections. In the future, this should be done by the
assembly core, but in order to prepare the ground and get the
performance benefits as soon as possible, implement a library of
functions which can manage symbols and sections and their respective
hashes, trees, and tables.
This infrastructure is not yet used by any backend, that porting work
has to come next.
Signed-off-by: H. Peter Anvin (Intel) <hpa@zytor.com>
|
|\ \
| |/
| |
| |
| |
| |
| | |
Resolved Conflicts:
version
Signed-off-by: H. Peter Anvin (Intel) <hpa@zytor.com>
|
| |
| |
| |
| |
| |
| | |
Some more mostly editorial changes.
Signed-off-by: H. Peter Anvin (Intel) <hpa@zytor.com>
|
| |
| |
| |
| |
| |
| |
| | |
Clean up the language of a few sections, add a few examples, and
better document %pragma limit.
Signed-off-by: H. Peter Anvin (Intel) <hpa@zytor.com>
|
| | |
|
| |
| |
| |
| | |
Signed-off-by: H. Peter Anvin (Intel) <hpa@zytor.com>
|