This website works better with JavaScript.
Explore
Help
Sign In
Chiebot-Mirror
/
yasm
mirror of
https://github.com/yasm/yasm.git
Watch
9
Star
0
Fork
You've already forked yasm
0
Code
Issues
Projects
Releases
Wiki
Activity
Yasm Assembler mainline development tree (ffmpeg 依赖)
You can not select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
1509
Commits
23
Branches
21
Tags
30 MiB
Tag:
Branch:
Tree:
9da99362c9
0.2
0.3
0.4
0.5
0.5.0
0.5.0rc2
0.6
0.6.0
0.6.1
0.6.2
0.7
0.7.0
0.7.1
0.7.2
0.8
0.8.0
1.0
1.0.0
1.0.1
1.1
1.1.0
master
multiarch
v0.1.0
v0.2.0
v0.2.1
v0.2.2
v0.3.0
v0.4.0
v0.5.0
v0.5.0rc1
v0.5.0rc2
v0.6.0
v0.6.1
v0.6.2
v0.7.0
v0.7.1
v0.7.2
v0.8.0
v1.0.0
v1.0.1
v1.1.0
v1.2.0
v1.3.0
Branches
Tags
${ item.name }
Create tag
${ searchTerm }
Create branch
${ searchTerm }
from '9da99362c9'
${ noResults }
yasm
/
libyasm
/
tests
/
absloop-err.errwarn
2 lines
54 B
Raw
Normal View
History
Unescape
Escape
Revamp error/warning handling, using a model similar to Python's internal exception handling. There are now two layers an error or warning goes through before it hits the user: first an error is logged via yasm_error_set() (or yasm_warn_set() for a warning). Only one error may be set, whereas multiple warnings can be set (yasm_warn_set maintains a linked list). Then, calling yasm_errwarn_propagate() propagates any error and/or warning(s) to an errwarns structure and associates the errors/warnings with a line number at that time; this call also clears the pending errors/warnings and allows new ones to be set. The propagate function can safely be called when there are no pending error/warnings. In addition, there are some helper errwarn functions that allow clearing of an error/warning without propagating, getting it separately, etc. Still yet to be done: changing most/all uses of yasm_internal_error() into yasm_error_set(YASM_ERROR_ASSERTION). The main advantage this change has is making libyasm functions feel much more library like, and separating the user code line numbers from the inner function error handling (e.g. intnum create functions only needed the line number to trigger errors; this is no longer required). The set/propagate/etc functions use global data structures to avoid passing around a pointer to every function. This would need to be made thread-local data in a threaded app. Errwarns containers (that keep associated line numbers) are no longer global, so multiple source streams can be processed separately with no conflict (at least if there's only a single thread of execution). svn path=/trunk/yasm/; revision=1521
19 years ago
-:6: circular reference detected in memory expression