diff options
author | Kaz Kylheku <kaz@kylheku.com> | 2017-01-15 20:19:02 -0800 |
---|---|---|
committer | Kaz Kylheku <kaz@kylheku.com> | 2017-01-15 20:19:02 -0800 |
commit | e634982247b4e212b261a9ad31ca8568ebd1be36 (patch) | |
tree | 74771342d5729942db7a2048cd27f18394fb08b8 /unwind.h | |
parent | 7bcd35fa7204a8bf1a043a2587f2e0f252764364 (diff) | |
download | txr-e634982247b4e212b261a9ad31ca8568ebd1be36.tar.gz txr-e634982247b4e212b261a9ad31ca8568ebd1be36.tar.bz2 txr-e634982247b4e212b261a9ad31ca8568ebd1be36.zip |
Extend deferred warnings system with tentative defs.
Tentative defs record the fact that some definition has been
seen at expansion time, even though that definition has not
been put into effect. They suppress warnings.
* unwind.c (tentative_defs): New static variable.
(uw_defer_warning): Throw away the warning if
it matches a tentative def.
(uw_register_tentative_def, uw_tentative_def_exists): New
functions.
(uw_dump_deferred_warnings): Purge the tag from the list of
deferred defs also.
(uw_init): gc-protect tentative_defs.
Register intrinsics register-tentative-def and
tentative-def-exists.
* unwind.h (uw_register_tentative_def,
uw_tentative_def_exists): Declared.
Diffstat (limited to 'unwind.h')
-rw-r--r-- | unwind.h | 2 |
1 files changed, 2 insertions, 0 deletions
@@ -131,6 +131,8 @@ noreturn val uw_errorfv(val fmt, struct args *args); val uw_defer_warning(val args); val uw_dump_deferred_warnings(val stream); val uw_purge_deferred_warning(val tag); +val uw_register_tentative_def(val tag); +val uw_tentative_def_exists(val tag); val uw_register_subtype(val sub, val super); val uw_exception_subtype_p(val sub, val sup); void uw_continue(uw_frame_t *target); |