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. |
||
|---|---|---|
| .. | ||
| CMakeLists.txt | ||
| hlslGrammar.cpp | ||
| hlslGrammar.h | ||
| hlslOpMap.cpp | ||
| hlslOpMap.h | ||
| hlslParseables.cpp | ||
| hlslParseables.h | ||
| hlslParseHelper.cpp | ||
| hlslParseHelper.h | ||
| hlslScanContext.cpp | ||
| hlslScanContext.h | ||
| hlslTokens.h | ||
| hlslTokenStream.cpp | ||
| hlslTokenStream.h | ||