Hi Eike,

Upon debugging IFS( 0, NA(), 1+0, "output" ) I came to the following 
preliminary conclusions:
Before ScInterpreter::ScIfs_MS() is called, ScInterpreter::Interpret is called 
for argument '1+0' .
That leads to a call to scInterpreter::CalculateAddSub( false ) and there the 
problem starts.
0 and 1 are popped and added, but after PushDouble( ::rtl::math::approxAdd( 0, 
1 ) )
the raw stacktype is svError.
Unfortunately most of the time I have only a machine with 4GB available for 
debugging, giving 5 minutes max before freezing, so the simple question what 
the raw stacktype is before PushDouble (when NA() is on top of the stack) will 
take me up to an hour -which I don't have right now.

Do you happen to know if in the case of a token on top of the stack of type 
svError (like NA()), this stacktype is remained when pushing new values/tokens 
to the stack?
If that is the case, I wouldn't know a proper way to fix this, unless there are 
no use cases where this behaviour is desired.
Any thoughts?

Winfried

_______________________________________________
LibreOffice mailing list
LibreOffice@lists.freedesktop.org
https://lists.freedesktop.org/mailman/listinfo/libreoffice

Reply via email to