Skip to content

Commit 3580dff

Browse files
committed
Use std::tranfsorm for inserting library defines
1 parent fd3b00a commit 3580dff

2 files changed

Lines changed: 10 additions & 4 deletions

File tree

lib/cppcheck.cpp

Lines changed: 5 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -61,6 +61,7 @@
6161
#include <exception> // IWYU pragma: keep
6262
#include <fstream>
6363
#include <iostream>
64+
#include <iterator>
6465
#include <map>
6566
#include <new>
6667
#include <set>
@@ -1049,8 +1050,10 @@ unsigned int CppCheck::checkInternal(const FileWithDetails& file, const std::str
10491050
std::set<std::string> configDefines = { "__cplusplus" };
10501051

10511052
// Insert library defines
1052-
for (const auto &define : mSettings.library.defines())
1053-
configDefines.insert(define.substr(0, define.find_first_of("( ")));
1053+
std::transform(mSettings.library.defines().begin(),
1054+
mSettings.library.defines().end(),
1055+
std::inserter(configDefines, configDefines.end()),
1056+
[](const auto &define) { return define.substr(0, define.find_first_of("( ")); });
10541057

10551058
preprocessor.setLoadCallback([&](simplecpp::FileData &data) {
10561059
// Do preprocessing on included file

test/testpreprocessor.cpp

Lines changed: 5 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -33,6 +33,7 @@
3333
#include "helpers.h"
3434

3535
#include <cstring>
36+
#include <iterator>
3637
#include <list>
3738
#include <map>
3839
#include <set>
@@ -401,8 +402,10 @@ class TestPreprocessor : public TestFixture {
401402
Preprocessor preprocessor(tokens, settings, *this, Standards::Language::C);
402403
std::set<std::string> configs = { "" };
403404
std::set<std::string> configDefines = { "__cplusplus" };
404-
for (const auto &define : settings.library.defines())
405-
configDefines.insert(define.substr(0, define.find_first_of("( ")));
405+
std::transform(settings.library.defines().begin(),
406+
settings.library.defines().end(),
407+
std::inserter(configDefines, configDefines.end()),
408+
[](const auto &define) { return define.substr(0, define.find_first_of("( ")); });
406409
preprocessor.setLoadCallback([&](simplecpp::FileData &data) {
407410
Preprocessor::removeComments(data.tokens);
408411
preprocessor.getConfigs(data.filename, data.tokens, configDefines, configs);

0 commit comments

Comments
 (0)