Peter Johnson
9cfce9f04a
Simplify brief description. Comment-only change.
...
svn path=/trunk/yasm/; revision=945
22 years ago
Peter Johnson
cfc6bf0ded
Clean up and simplify libyasm.h options and symbol visibility:
...
- Move config.h and util.h from libyasm (and installed libyasm) to top level.
- Move yasm_* functions from util.h to coretype.h.
- Remove a number of autoconf-related YASM_*_INTERNAL options from libyasm.h.
- Rename YASM_INTERNAL to YASM_LIB_INTERNAL; it now actually means what the
comment describes: enables definitions that violate the yasm_* namespace.
While we're at it, no longer define YASM_LIB_INTERNAL from yasm frontend, so
it's closer to what a real typical libyasm-using application would look like.
svn path=/trunk/yasm/; revision=944
22 years ago
Peter Johnson
8f91cd9d24
Change how bytecode and section lists are allocated. When YASM_INTERNAL is not
...
defined, the structures for the list heads are not defined, so the existing
yasm_bcs_initialize() and yasm_sections_initialize() were impossible to use.
Instead, rename these functions to yasm_bcs_new() and yasm_sections_new() and
make them allocate the space internally. Update yasm_bcs_delete() and
yasm_sections_delete() to free the internally-allocated space.
svn path=/trunk/yasm/; revision=942
22 years ago
Peter Johnson
fd1c0ea4b3
Make yasm_section_delete() static. It's unsafe to call from outside, because
...
the only way to allocate a section is when making it a part of a section list,
and at present, the list is singly-linked internally.
svn path=/trunk/yasm/; revision=940
22 years ago
Peter Johnson
d710166b48
Comment for Doxygen documentation generation. Comment-only changes.
...
svn path=/trunk/yasm/; revision=939
22 years ago
Peter Johnson
f750093710
Watch placement of \internal Doxygen tag.
...
svn path=/trunk/yasm/; revision=938
22 years ago
Peter Johnson
fa6170c68d
Comment for Doxygen documentation generation. Comment-only changes.
...
svn path=/trunk/yasm/; revision=937
22 years ago
Peter Johnson
782210f44b
Comment for Doxygen documentation generation.
...
svn path=/trunk/yasm/; revision=936
22 years ago
Peter Johnson
f381195dc1
Undefine __STRICT__ANSI__ when compiling with gcc -ansi and glibc to avoid many
...
spurious compiler warnings.
svn path=/trunk/yasm/; revision=924
22 years ago
Peter Johnson
6755374824
Don't use "select" as a variable name. Causes warnings on Linux, at the least
...
(namespace violation on glibc's part).
svn path=/trunk/yasm/; revision=923
22 years ago
Michael Urman
9399c65459
Implemented -I and -P command line options frontend, nasm and raw preprocs.
...
svn path=/trunk/yasm/; revision=906
22 years ago
Peter Johnson
87ce995335
Start commenting for Doxygen documentation generation. Comment-only changes.
...
svn path=/trunk/yasm/; revision=904
22 years ago
Peter Johnson
0ab3ae5153
Flatten arch interface, changing some parse function names in the process.
...
No functional changes.
svn path=/trunk/yasm/; revision=903
22 years ago
Peter Johnson
e4daeb8d19
Protect yasm_bc_new_common() by YASM_INTERNAL ifdef as it uses
...
yasm_bytecode_type which is only defined under YASM_INTERNAL.
svn path=/trunk/yasm/; revision=901
22 years ago
Peter Johnson
ddc08a6994
Use system includes instead of local includes. This allows replacement of
...
key headers in certain situations (config.h when compiling with Visual C++ for
one), and is also more correct in general.
svn path=/trunk/yasm/; revision=887
22 years ago
Peter Johnson
dd1d356936
De-constify yasm_bytecode parameter to yasm_output_expr_func.
...
svn path=/trunk/yasm/; revision=883
22 years ago
Peter Johnson
395ebb7a0f
Add all_syms parameter to objfmt->output() for debugging purposes.
...
svn path=/trunk/yasm/; revision=879
22 years ago
Peter Johnson
3931d43ee0
Add directive() and yasm_objfmt * parameter to initialize().
...
svn path=/trunk/yasm/; revision=878
22 years ago
Peter Johnson
0caa11ff3b
Enable more warnings and perform code cleanups to avoid them.
...
When -Werror is used, disable -Wconversion, because flex-generated code causes
warnings when calling fwrite() and fread().
svn path=/trunk/yasm/; revision=873
22 years ago
Peter Johnson
a8b2d5e2dc
yasm_vp_new() should take a char *, not a const char *.
...
svn path=/trunk/yasm/; revision=872
22 years ago
Peter Johnson
d189020798
Change yasm__conv_unprint to take an int parameter instead of a char (safer).
...
svn path=/trunk/yasm/; revision=871
22 years ago
Peter Johnson
5fcecd3160
Match signedness of loop counters with loop bounds.
...
svn path=/trunk/yasm/; revision=870
22 years ago
Peter Johnson
af39a1017c
Don't redefine NDEBUG if it's already defined.
...
svn path=/trunk/yasm/; revision=862
22 years ago
Peter Johnson
b4e4d080e5
yasm_vp_new() should return its newly created structure!
...
svn path=/trunk/yasm/; revision=861
22 years ago
Peter Johnson
a682e85bd3
Use yasm__mergesort() in expr.c and use correct xmalloc/xfree in mergesort.c.
...
svn path=/trunk/yasm/; revision=852
22 years ago
Peter Johnson
0786a76895
Make libyasm a "real" library, including installing header files.
...
Start separating modules and frontends from libyasm internals.
svn path=/trunk/yasm/; revision=849
22 years ago
Peter Johnson
6e9b9c805c
Minor cleanups (no functional changes) after src split.
...
svn path=/trunk/yasm/; revision=848
22 years ago
Peter Johnson
8b564fbaa4
Split src into frontends, libyasm, and modules (forced commit after repo-copy).
...
svn path=/trunk/yasm/; revision=847
22 years ago
Peter Johnson
84ee559be7
The Great Renaming (prefixing with yasm_), Part 2: allocation functions.
...
svn path=/trunk/yasm/; revision=843
22 years ago
Peter Johnson
d9f68d6d4b
Unmodularize errwarn, while making key errwarn functions replaceable.
...
Also removes dependency of libyasm on libintl (gettext), so it can be linked
-no-undefined now!
svn path=/trunk/yasm/; revision=842
22 years ago
Peter Johnson
9d0fa1135c
The Great Renaming, Part 2: prefix strcasecmp and strncasecmp with yasm__.
...
svn path=/trunk/yasm/; revision=841
22 years ago
Peter Johnson
854ea00a2b
Move yasm_std_errwarn and yasm_std_linemgr into libyasm.
...
svn path=/trunk/yasm/; revision=840
22 years ago
Peter Johnson
288401feff
Refactor list_objfmts() and list_parsers() into module.c.
...
svn path=/trunk/yasm/; revision=839
22 years ago
Peter Johnson
a2e07e1e10
The Great Renaming (prefixing with yasm_), Part 1.
...
svn path=/trunk/yasm/; revision=838
22 years ago
Peter Johnson
d54377029e
bc_new_objfmt_data() was creating a bytecode with the incorrect type.
...
svn path=/trunk/yasm/; revision=837
22 years ago
Peter Johnson
b1faf6329c
Relicense under 2-clause BSD license.
...
svn path=/trunk/yasm/; revision=835
22 years ago
Peter Johnson
49e278893c
Re-license more files under the 3-clause BSD license (mostly header files).
...
svn path=/trunk/yasm/; revision=822
22 years ago
Peter Johnson
d510e21546
Add option for parser to associate input text (after preprocessing) with each
...
line in the linemgr.
svn path=/trunk/yasm/; revision=820
22 years ago
Peter Johnson
49623d5589
Add the "real" NASM preprocessor, and default to it. As NASM is LGPL, no
...
licensing issues with this. All the compiler warnings have been fixed, and
most namespace issues resolved. However, the integration isn't perfect, and
there are probably memory leaks. Note that right now the real NASM preproc
and "compatible" NASM parser share a module. The parser should probably be
renamed to avoid extra loading and code source confusion.
svn path=/trunk/yasm/; revision=800
23 years ago
Peter Johnson
86751029a3
Add va_list versions of error and warning errwarn functions.
...
Required adding stdarg to util.h.
svn path=/trunk/yasm/; revision=798
23 years ago
Peter Johnson
9f6cb6783f
Modularize errwarn. gettext()-ize in errwarn, not in every module, eliminating
...
libintl dependency in modules.
Also standardize initialize() and cleanup() functions.
Move replace_extension() from file.c to main.c.
Clean up some extern variable declarations in various places (particularly
nasm-compatible parser).
svn path=/trunk/yasm/; revision=792
23 years ago
Peter Johnson
f729b9e5d5
initialize() comment fix.
...
svn path=/trunk/yasm/; revision=790
23 years ago
Peter Johnson
2f19ce4ecd
Delete last of global variables by making a line manager and passing around
...
the line index. Fixes some minor line number/error message nits due to
incorrect usage of line_index in old global variable method.
svn path=/trunk/yasm/; revision=787
23 years ago
Peter Johnson
caf89035f8
Remove indent_level global by passing it as a parameter.
...
svn path=/trunk/yasm/; revision=786
23 years ago
Peter Johnson
d6f22c3fce
Dynamically load all modules (preloading some of the default ones).
...
Start reducing global variables for cleaner module separation.
Add rudimentary debug format module interface and "null" debug format.
svn path=/trunk/yasm/; revision=784
23 years ago
Peter Johnson
b59f5507da
Relicense under 3-clause BSD license.
...
svn path=/trunk/yasm/; revision=781
23 years ago
Peter Johnson
4c3bb4a7cc
Get rid of expr_xform_neg_tree(), integrating its functionality into
...
expr_level_tree(). This fixes negative equ's and probably other issues.
This also makes expr_simplify() a macro pointing to expr_level_tree().
svn path=/trunk/yasm/; revision=778
23 years ago
Peter Johnson
e54446905d
Use automake's standard macro for dmalloc instead of rolling our own.
...
svn path=/trunk/yasm/; revision=777
23 years ago
Peter Johnson
326b77c80c
Assume all sys/queue.h implementations are broken, and always use our local
...
one (more implementations are broken than not broken).
svn path=/trunk/yasm/; revision=776
23 years ago
Peter Johnson
2c94e53a91
symrec_data_print() doesn't need to handle a NULL data pointer.
...
svn path=/trunk/yasm/; revision=772
23 years ago