From 923b8fadd5fe6af56197cf3916a3292b60c0e8db Mon Sep 17 00:00:00 2001 From: Brad King Date: Tue, 28 Nov 2017 10:45:44 -0500 Subject: IWYU: Add mappings for std::enable_if on chrono durations IWYU incorrectly classifies this internal STL type as not internal, and suggests including `` for it. Work around the problem by mapping the offending names to a file that we always include. See include-what-you-use issue 434. --- Source/CTest/cmCTestBuildHandler.cxx | 1 - Source/CTest/cmCTestConfigureHandler.cxx | 1 - Source/CTest/cmCTestCoverageHandler.cxx | 1 - Source/CTest/cmCTestMemCheckHandler.cxx | 1 - Source/CTest/cmCTestScriptHandler.cxx | 1 - Source/CTest/cmCTestTestHandler.cxx | 1 - Source/CTest/cmCTestUpdateHandler.cxx | 1 - Source/CTest/cmProcess.cxx | 1 - Utilities/IWYU/mapping.imp | 4 ++++ 9 files changed, 4 insertions(+), 8 deletions(-) diff --git a/Source/CTest/cmCTestBuildHandler.cxx b/Source/CTest/cmCTestBuildHandler.cxx index f25c9c3..79446e8 100644 --- a/Source/CTest/cmCTestBuildHandler.cxx +++ b/Source/CTest/cmCTestBuildHandler.cxx @@ -17,7 +17,6 @@ #include #include #include -#include static const char* cmCTestErrorMatches[] = { "^[Bb]us [Ee]rror", diff --git a/Source/CTest/cmCTestConfigureHandler.cxx b/Source/CTest/cmCTestConfigureHandler.cxx index ab77986..7c5b3b0 100644 --- a/Source/CTest/cmCTestConfigureHandler.cxx +++ b/Source/CTest/cmCTestConfigureHandler.cxx @@ -9,7 +9,6 @@ #include #include #include -#include cmCTestConfigureHandler::cmCTestConfigureHandler() { diff --git a/Source/CTest/cmCTestCoverageHandler.cxx b/Source/CTest/cmCTestCoverageHandler.cxx index bbfe9bd..69cd08c 100644 --- a/Source/CTest/cmCTestCoverageHandler.cxx +++ b/Source/CTest/cmCTestCoverageHandler.cxx @@ -27,7 +27,6 @@ #include #include #include -#include #include class cmMakefile; diff --git a/Source/CTest/cmCTestMemCheckHandler.cxx b/Source/CTest/cmCTestMemCheckHandler.cxx index 2e7874d..57d2489 100644 --- a/Source/CTest/cmCTestMemCheckHandler.cxx +++ b/Source/CTest/cmCTestMemCheckHandler.cxx @@ -14,7 +14,6 @@ #include #include #include -#include struct CatToErrorType { diff --git a/Source/CTest/cmCTestScriptHandler.cxx b/Source/CTest/cmCTestScriptHandler.cxx index 3bf27a0..d2ad8c5 100644 --- a/Source/CTest/cmCTestScriptHandler.cxx +++ b/Source/CTest/cmCTestScriptHandler.cxx @@ -10,7 +10,6 @@ #include #include #include -#include #include #include "cmCTest.h" diff --git a/Source/CTest/cmCTestTestHandler.cxx b/Source/CTest/cmCTestTestHandler.cxx index e7c719c..6d8180c 100644 --- a/Source/CTest/cmCTestTestHandler.cxx +++ b/Source/CTest/cmCTestTestHandler.cxx @@ -16,7 +16,6 @@ #include #include #include -#include #include "cmAlgorithms.h" #include "cmCTest.h" diff --git a/Source/CTest/cmCTestUpdateHandler.cxx b/Source/CTest/cmCTestUpdateHandler.cxx index f86d4a3..809abd1 100644 --- a/Source/CTest/cmCTestUpdateHandler.cxx +++ b/Source/CTest/cmCTestUpdateHandler.cxx @@ -20,7 +20,6 @@ #include #include // IWYU pragma: keep #include -#include static const char* cmCTestUpdateHandlerUpdateStrings[] = { "Unknown", "CVS", "SVN", "BZR", "GIT", "HG", "P4" diff --git a/Source/CTest/cmProcess.cxx b/Source/CTest/cmProcess.cxx index 78dd598..c889174 100644 --- a/Source/CTest/cmProcess.cxx +++ b/Source/CTest/cmProcess.cxx @@ -4,7 +4,6 @@ #include "cmProcessOutput.h" #include -#include cmProcess::cmProcess() { diff --git a/Utilities/IWYU/mapping.imp b/Utilities/IWYU/mapping.imp index 6477d59..221da06 100644 --- a/Utilities/IWYU/mapping.imp +++ b/Utilities/IWYU/mapping.imp @@ -63,6 +63,10 @@ { symbol: [ "std::__decay_and_strip &>::__type", private, "\"cmConfigure.h\"", public ] }, { symbol: [ "std::__decay_and_strip::__type", private, "\"cmConfigure.h\"", public ] }, { symbol: [ "std::__decay_and_strip<__gnu_cxx::__normal_iterator > > &>::__type", private, "\"cmConfigure.h\"", public ] }, + { symbol: [ "std::__success_type > >::type", private, "\"cmConfigure.h\"", public ] }, + { symbol: [ "std::enable_if > >::type", private, "\"cmConfigure.h\"", public ] }, + { symbol: [ "std::enable_if > >::type", private, "\"cmConfigure.h\"", public ] }, + { symbol: [ "std::enable_if > >::type", private, "\"cmConfigure.h\"", public ] }, # KWIML { include: [ "", public, "\"cm_kwiml.h\"", public ] }, -- cgit v0.12