FastEvaluateAsRValue returns true without setting a result value for when a
given constant expression is an array or record type.
Clang attributes must be able to support constant expressions that are array or
record types, so proceed with the slower path for evaluation in the case where
FastEvaluateAsRValue does not yield an evaluation result.
Interestingly, the 'IsConst' is used 1x as the return value from FastEvaluateAsRValue, so I wonder if this originally should have been "return IsConst". @tbaeder : got any comments here?
That said, I'm tempted to approve once others have a look, the 'return value' is true if the function has successfully set IsConst, false otherwise. So it is a touch shocking that we wouldn't need to test it.