On 8/13/20 6:48 AM, jr wrote:
> I was looking over my 'queues.inc' code[*], and got errors when running the
> test/demo scenes. all three test scenes work ok when using the alpha.9945627,
> but with the alpha.10064268, which I installed a few days after posting :-), I
The two which fail are using float id tokens where the first does not.
In symboltable.cpp Christoph added:
// TODO See captured issue:
// POV_EXPERIMENTAL_ASSERT((ttype != FLOAT_TOKEN_CATEGORY) &&
// (ttype != FLOAT_ID_TOKEN) &&
// (ttype != VECTOR_TOKEN_CATEGORY) &&
// (ttype != COLOUR_TOKEN_CATEGORY));
// I "think" Christoph wanted something like that below.
// BUT! Why didn't he just differently order FLOAT_ID_TOKEN,
// VECTOR_ID_TOKEN as he looks to have ordered COLOUR_ID_TOKEN
// This looks like something not complete and certainly not clean.
POV_EXPERIMENTAL_ASSERT(((ttype != FLOAT_TOKEN_CATEGORY) ||
(ttype == FLOAT_ID_TOKEN)) &&
((ttype != VECTOR_TOKEN_CATEGORY) ||
(ttype == VECTOR_ID_TOKEN)) &&
(ttype != COLOUR_TOKEN_CATEGORY));
I'm going to run with the change at the bottom for a while in povr and
see what happens. Your test cases again run with the change.
I think though this a v38 release issue where somebody needs to spend a
chunk of time 'really' getting to understand the state of the current
parser code to determine the 'right' solution. I'm guessing a little
given the code state - and that state doesn't looks clean to me.
Post a reply to this message