Add macro IS_NIL
authorKim Nguyễn <kn@lri.fr>
Tue, 14 Feb 2012 10:00:45 +0000 (11:00 +0100)
committerKim Nguyễn <kn@lri.fr>
Tue, 14 Feb 2012 10:00:45 +0000 (11:00 +0100)
    Testing whether a node is NIL with < 0 rather than == -1 allows
    the compiler to know that a node is >= in subsequent code, thus
    opening the door to more aggressive optimizations.

XMLTree.h

index 1cab2aa..d809bfc 100644 (file)
--- a/XMLTree.h
+++ b/XMLTree.h
@@ -94,6 +94,7 @@ typedef TagIdMap::const_iterator TagIdMapIT;
 
 // returns NULLT if the test is true
 #define NULLT_IF(x)  do { if (x) return NULLT; } while (0)
+#define IS_NIL(x) ((x) < 0)
 
 // Direct calls to sarray library