mirror of
https://github.com/KhronosGroup/SPIRV-Tools
synced 2024-11-26 21:30:07 +00:00
Optional typed literal number should be concrete in BinaryParser.
This commit is contained in:
parent
0db3721675
commit
aa3cd5abb9
@ -451,6 +451,7 @@ spv_result_t Parser::parseOperand(spv_parsed_instruction_t* inst,
|
||||
|
||||
case SPV_OPERAND_TYPE_TYPED_LITERAL_NUMBER:
|
||||
case SPV_OPERAND_TYPE_OPTIONAL_TYPED_LITERAL_INTEGER:
|
||||
parsed_operand.type = SPV_OPERAND_TYPE_TYPED_LITERAL_NUMBER;
|
||||
if (inst->opcode == SpvOpSwitch) {
|
||||
// The literal operands have the same type as the value
|
||||
// referenced by the selector Id.
|
||||
|
@ -497,4 +497,14 @@ TEST_F(MaskSorting, MasksAreSortedFromLSBToMSB) {
|
||||
" %5 %6 %7 %8 %9 %10 %11 %12 %13\n"));
|
||||
}
|
||||
|
||||
using OperandTypeTest = spvtest::TextToBinaryTest;
|
||||
|
||||
TEST_F(OperandTypeTest, OptionalTypedLiteralNumber) {
|
||||
const std::string input =
|
||||
"%1 = OpTypeInt 32 0\n"
|
||||
"%2 = OpConstant %1 42\n"
|
||||
"OpSwitch %2 %3 100 %4\n";
|
||||
EXPECT_EQ(input, EncodeAndDecodeSuccessfully(input));
|
||||
}
|
||||
|
||||
} // anonymous namespace
|
||||
|
Loading…
Reference in New Issue
Block a user