Improve an error message in the assembler (#5219)
Signed-off-by: Kevin Petit <kevin.petit@arm.com>
diff --git a/source/text.cpp b/source/text.cpp
index 8f77d62..9c77422 100644
--- a/source/text.cpp
+++ b/source/text.cpp
@@ -544,7 +544,8 @@
std::string equal_sign;
error = context->getWord(&equal_sign, &nextPosition);
if ("=" != equal_sign)
- return context->diagnostic() << "'=' expected after result id.";
+ return context->diagnostic() << "'=' expected after result id but found '"
+ << equal_sign << "'.";
// The <opcode> after the '=' sign.
context->setPosition(nextPosition);
diff --git a/test/text_to_binary.pipe_storage_test.cpp b/test/text_to_binary.pipe_storage_test.cpp
index 2a41d42..ef899a2 100644
--- a/test/text_to_binary.pipe_storage_test.cpp
+++ b/test/text_to_binary.pipe_storage_test.cpp
@@ -41,7 +41,7 @@
Eq(MakeInstruction(spv::Op::OpTypePipeStorage, {1})));
EXPECT_THAT(CompileFailure("%res = OpTypePipeStorage %1 %2 %3 %4 %5",
SPV_ENV_UNIVERSAL_1_1),
- Eq("'=' expected after result id."));
+ Eq("'=' expected after result id but found '%2'."));
}
using OpConstantPipeStorageTest = spvtest::TextToBinaryTest;
@@ -72,7 +72,7 @@
Eq(MakeInstruction(spv::Op::OpConstantPipeStorage, {1, 2, 3, 4, 5})));
EXPECT_THAT(CompileFailure("%1 = OpConstantPipeStorage %2 3 4 5 %6 %7",
SPV_ENV_UNIVERSAL_1_1),
- Eq("'=' expected after result id."));
+ Eq("'=' expected after result id but found '%7'."));
}
TEST_F(OpConstantPipeStorageTest, ArgumentTypes) {
@@ -118,7 +118,7 @@
Eq(MakeInstruction(spv::Op::OpCreatePipeFromPipeStorage, {1, 2, 3})));
EXPECT_THAT(CompileFailure("%1 = OpCreatePipeFromPipeStorage %2 %3 %4 %5",
SPV_ENV_UNIVERSAL_1_1),
- Eq("'=' expected after result id."));
+ Eq("'=' expected after result id but found '%5'."));
}
TEST_F(OpCreatePipeFromPipeStorageTest, ArgumentTypes) {