I tried to check that but was not able to reproduce it. So I guess it has been fixed already internally. Can you please provide a small test kernel to reproduce it so that I can be sure.
The compiler tries to interpret '*' as an unary operator. It would do that if it does not see anything on the left hand of '*'. For example, if RAY_EPSILON is defined as
without any value.
But in that case 'rayHit->Ng * RAY_EPSILON' would throw a different error at you.
How exactly did you define RAY_EPSILON?