Merge topic 'cxx23' into release-3.28

a0fabc4769 cmGlobalGeneratorFactory: Provide complete cmGlobalGenerator to deleter
85627a93c9 cmCTestBuildCommand: Avoid requiring complete cmGlobalGenerator type publicly
641c02a3ce cmList: Avoid using operator-> on input iterator
e4483b8871 Tests: Avoid compiling call to dap::optional<dap::string>(nullptr)

Acked-by: Kitware Robot <kwrobot@kitware.com>
Acked-by: buildbot <buildbot@kitware.com>
Acked-by: scivision <michael@scivision.dev>
Merge-request: !8950
This commit is contained in:
Brad King
2023-11-08 15:31:41 +00:00
committed by Kitware Robot
6 changed files with 17 additions and 14 deletions

View File

@@ -3,11 +3,13 @@
#include "cmCTestBuildCommand.h"
#include <sstream>
#include <utility>
#include <cmext/string_view>
#include "cmCTest.h"
#include "cmCTestBuildHandler.h"
#include "cmCommand.h"
#include "cmGlobalGenerator.h"
#include "cmMakefile.h"
#include "cmMessageType.h"
@@ -18,6 +20,14 @@
class cmExecutionStatus;
std::unique_ptr<cmCommand> cmCTestBuildCommand::Clone()
{
auto ni = cm::make_unique<cmCTestBuildCommand>();
ni->CTest = this->CTest;
ni->CTestScriptHandler = this->CTestScriptHandler;
return std::unique_ptr<cmCommand>(std::move(ni));
}
void cmCTestBuildCommand::BindArguments()
{
this->cmCTestHandlerCommand::BindArguments();

View File

@@ -5,14 +5,13 @@
#include "cmConfigure.h" // IWYU pragma: keep
#include <string>
#include <utility>
#include <vector>
#include <cm/memory>
#include "cmCTestHandlerCommand.h"
#include "cmCommand.h"
class cmCommand;
class cmCTestBuildHandler;
class cmCTestGenericHandler;
class cmExecutionStatus;
@@ -31,13 +30,7 @@ public:
/**
* This is a virtual constructor for the command.
*/
std::unique_ptr<cmCommand> Clone() override
{
auto ni = cm::make_unique<cmCTestBuildCommand>();
ni->CTest = this->CTest;
ni->CTestScriptHandler = this->CTestScriptHandler;
return std::unique_ptr<cmCommand>(std::move(ni));
}
std::unique_ptr<cmCommand> Clone() override;
/**
* The name of the command as specified in CMakeList.txt.

View File

@@ -5,6 +5,7 @@
#include "cmConfigure.h" // IWYU pragma: keep
#include "cmDocumentationEntry.h" // IWYU pragma: export
#include "cmGlobalGenerator.h" // IWYU pragma: keep
// TODO The following headers are parts of the `cmGlobalGeneratorFactory`
// public API, so could be defined as export to IWYU
@@ -13,7 +14,6 @@
#include <cm/memory>
class cmGlobalGenerator;
class cmake;
/** \class cmGlobalGeneratorFactory

View File

@@ -1192,7 +1192,7 @@ private:
}
} else {
for (; first != last; ++first) {
if (!first->empty() || emptyElements == EmptyElements::Yes) {
if (!(*first).empty() || emptyElements == EmptyElements::Yes) {
insertPos = container.insert(insertPos, *first);
++insertPos;
}

View File

@@ -19,7 +19,7 @@
do { \
ASSERT_TRUE(x.name == expectedName); \
ASSERT_TRUE(x.value == expectedValue); \
if (expectedType == nullptr) { \
if (expectedType == std::string()) { \
ASSERT_TRUE(x.type == dap::optional<dap::string>()); \
} else { \
ASSERT_TRUE(x.type == dap::optional<dap::string>(expectedType)); \

View File

@@ -196,8 +196,8 @@ static bool testNoSupportsVariableType()
CreateVariablesRequest(vars->GetId()));
ASSERT_TRUE(variables.size() == 2);
ASSERT_VARIABLE(variables[0], "Children", "", nullptr);
ASSERT_VARIABLE(variables[1], "test", "value", nullptr);
ASSERT_VARIABLE(variables[0], "Children", "", "");
ASSERT_VARIABLE(variables[1], "test", "value", "");
return true;
}