This update was motivated by the fix for a recently reported bug
in incremental tabling. The problem was incorrect maintenance
for the deleted field of callgraphs for facts, under certain
situations. However, there are other changes in this update.
-- I was in the process of making incremental tabling follow an
ISO-like semantics. While this feature is not turned on in
this version, it does contain a draft of the code, as well as
some refactoring that was needed to support the new
functionality under clang.
-- I also made some changes in the callnode structure so that the
subgoal to which dynamic facts correspond can be
reconstructed. I used this to find the bug above, but I also
want to use it to extend the incremental dependency predicates
in increval to also include dynamic facts.
-- Some changes introduced to quiet the Linux compiler made clang
complain. So I redid these changes as a macro,
SQUASH_LINUX_COMPILER_WARNING which is a no-op in clang, but
does what it did before in Linux.
-- As a final node, I had to move ctop_tag into
ptoc_tag_xsb_i.h (but did not change the file name).
Basically, I had to change the inline definition of this
predicate to static inline for clang. And since its used in
several files, I had to put it in a .h.