clangbackend: Categorize non-const pointer arguments as output arguments

Fixes: QTCREATORBUG-24550
Change-Id: Iac4f3b133a632d7272bfe4253f8a0740e51b0952
Reviewed-by: Christian Stenger <christian.stenger@qt.io>
This commit is contained in:
Christian Kandeler
2020-10-14 14:12:30 +02:00
parent cbf4e8af0a
commit ed292f3f9b
3 changed files with 20 additions and 9 deletions

View File

@@ -489,7 +489,7 @@ TEST_F(Cursor, HasOutputValues)
auto outputArgumentLocations = callExpressionCursor.outputArgumentRanges();
ASSERT_THAT(outputArgumentLocations.size(), 1);
ASSERT_THAT(outputArgumentLocations.size(), 2);
ASSERT_THAT(outputArgumentLocations[0], outputArgumentExpectedSourceLocation);
}
@@ -744,13 +744,13 @@ TEST_F(Cursor, PointerIsNotRefencingConstant)
ASSERT_FALSE(argument.isReferencingConstant());
}
TEST_F(Cursor, PointerIsNotOutputArgument)
TEST_F(Cursor, PointerIsOutputArgument)
{
auto callExpressionCursor = translationUnit.cursorAt(127, 13);
auto argument = callExpressionCursor.type().argument(0);
ASSERT_FALSE(argument.isOutputArgument());
ASSERT_TRUE(argument.isOutputArgument());
}
TEST_F(Cursor, ConstantReferenceIsNotOutputArgument)
@@ -771,13 +771,13 @@ TEST_F(Cursor, PointerToConstantIsNotOutputArgument)
ASSERT_FALSE(argument.isOutputArgument()) << argument.isConstant() << argument.pointeeType().isConstant();
}
TEST_F(Cursor, ConstantPointerIsNotOutputArgument)
TEST_F(Cursor, ConstantPointerIsOutputArgument)
{
auto callExpressionCursor = translationUnit.cursorAt(128, 21);
auto argument = callExpressionCursor.type().argument(0);
ASSERT_FALSE(argument.isOutputArgument());
ASSERT_TRUE(argument.isOutputArgument());
}
TEST_F(Cursor, ReferenceIsOutputArgument)