This fixes defects as follows: 1. handleLvalue could be called on a non-L-value, and it shouldn't be. 2. HLSL allows unary negation on non-bool values. TUnaryOperator::promote can now promote other types (e.g, int, float) to bool for this op. 3. HLSL allows binary logical operations (&&, ||) on arbitrary types, similar (2). 4. HLSL allows mod operation on arbitrary types, which will be promoted. E.g, int % float -> float % float. |
||
|---|---|---|
| .. | ||
| arrays.h | ||
| BaseTypes.h | ||
| Common.h | ||
| ConstantUnion.h | ||
| InfoSink.h | ||
| InitializeGlobals.h | ||
| intermediate.h | ||
| PoolAlloc.h | ||
| ResourceLimits.h | ||
| revision.h | ||
| revision.template | ||
| ShHandle.h | ||
| Types.h | ||