+ added TXPathBinaryNode as a common ancestor for binary operations;
+ TXPathBooleanOpNode now handles only 'and' and 'or' operators,
the purpose is to not evaluate the second argument if the result can
be determined by the first argument;
* Comparison operations moved to TXPathCompareNode and fixed
to support INFs and NANs correctly;
* Fixed TranslateWideString() that was not deleting characters;
* Fixed 'substring-after' function so its result is empty when argument
string does not contain the pattern;
* Fixed 'round' funcion so it complies to the specs;
* Completed implementation of 'substring' function (but surrogate pairs
are not handled yet);
* Mask exInvalidOp and exZeroDivide FPU exceptions while evaluating
expressions, this ensures correct calculations with respect to INFs
and NANs.
+ Added testsuite for xpath
git-svn-id: trunk@12961 -
* fixed errors in Inc*() routines regarding skipping the black
home in the data-time continuum around 0, and the same for the
*Between() functions
+ tests, test...
git-svn-id: trunk@12958 -
when they are not used in the unit where they are defined (since they
may be used elsewhere, discovered while analyzing mantis #13345)
git-svn-id: trunk@12954 -
* TXPathUnionNode.Evaluate: fixed two crashes. The object returned by
TXPathVariable.AsNodeSet is owned by that TXPathVariable and should
not be explicitly destroyed. Also TXPathVariable should not be
released if its AsNodeSet result will be used later.
* TXPathLocationPathNode.Evaluate/EvaluateStep:
- fixed crash in axisFollowing case branch (caused by wrong variable
being used in the loop).
- rewrote axisPreceding branch so it builds the result node list in
correct (document) order.
- Fixed predicate match condition that was always evaluating as True.
* TXPathScanner.ParseLocationPath: modified so it never returns nil.
This fixes crash in cases when '/' or '//' are used otherwise than
the whole expression (e.g. 'string(/)').
* Replaced manual searching in TList by calls to IndexOf() in two
places.
git-svn-id: trunk@12934 -
(and hence those directories were interpreted as source files themselves)
+ added -gostabsabsincludes option to make the compiler store absolute
paths to include files in Stabs debugging information (since no
search paths are used). This is not the default because it breaks
when only the base path of an entire source tree changes (relative
paths, which are the previous behaviour and the current default,
work fine, but the absolute paths don't anymore; this can happen
with shared network drives, and possibly with distros shipping
external .dbg files)
git-svn-id: trunk@12933 -
* call fpexit instead of halt when fpexec fails (the (v)forked child
would otherwise close down a bunch of resources of the parent)
* use vfork instead of fork on Darwin and Solaris (faster)
* fixed indentation (use "svn diff -x -w" to see the important
differences)
git-svn-id: trunk@12925 -
for 32 bit Darwin platforms (we don't have a 64 bit clean interface
for CoreFoundation yet) instead of using the (unreliable) paramstr(0)
(mantis #13327)
git-svn-id: trunk@12921 -