AST: preserve symbol destruction order across runs 51/15551/2
Clément DAVID [Tue, 18 Nov 2014 15:37:34 +0000 (16:37 +0100)]
Before this modification, display on scicos tests are not reproductible
as we log destruction order. Preserving the insertion / deletion order
let the user expect the same behavior on each run.

Change-Id: I3da6338675a68f733574b674844f00a8b53d50b2

scilab/modules/ast/src/cpp/symbol/symbol.cpp

index 4262f80..cf1f971 100644 (file)
@@ -50,7 +50,8 @@ bool Symbol::operator!= (const Symbol &rhs) const
 
 bool Symbol::operator<(const Symbol &rhs) const
 {
-    return (&(*_set_node) < & (*rhs.getNode()));
+    // compare values instead of pointers to preserve consistency across runs, platforms, etc..
+    return *_set_node < *rhs.getNode();
 }
 
 std::wostream& operator<< (std::wostream &ostr, const Symbol &the)