summaryrefslogtreecommitdiff
path: root/Utilities/IWYU
diff options
context:
space:
mode:
authorBrad King <brad.king@kitware.com>2017-11-28 10:45:44 -0500
committerBrad King <brad.king@kitware.com>2017-11-28 10:50:44 -0500
commit923b8fadd5fe6af56197cf3916a3292b60c0e8db (patch)
tree17d0031fb3f2e57184760b7a9a6274c26754c65a /Utilities/IWYU
parent8b5ae1c1d310fc6eb13b2cde5712b4e319f01f3e (diff)
downloadcmake-923b8fadd5fe6af56197cf3916a3292b60c0e8db.tar.gz
IWYU: Add mappings for std::enable_if on chrono durations
IWYU incorrectly classifies this internal STL type as not internal, and suggests including `<type_traits>` 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.
Diffstat (limited to 'Utilities/IWYU')
-rw-r--r--Utilities/IWYU/mapping.imp4
1 files changed, 4 insertions, 0 deletions
diff --git a/Utilities/IWYU/mapping.imp b/Utilities/IWYU/mapping.imp
index 6477d5924a..221da06bd9 100644
--- a/Utilities/IWYU/mapping.imp
+++ b/Utilities/IWYU/mapping.imp
@@ -63,6 +63,10 @@
{ symbol: [ "std::__decay_and_strip<const std::basic_string<char> &>::__type", private, "\"cmConfigure.h\"", public ] },
{ symbol: [ "std::__decay_and_strip<cmFindPackageCommand::PathLabel &>::__type", private, "\"cmConfigure.h\"", public ] },
{ symbol: [ "std::__decay_and_strip<__gnu_cxx::__normal_iterator<const cmCTestTestHandler::cmCTestTestProperties *, std::vector<cmCTestTestHandler::cmCTestTestProperties, std::allocator<cmCTestTestHandler::cmCTestTestProperties> > > &>::__type", private, "\"cmConfigure.h\"", public ] },
+ { symbol: [ "std::__success_type<std::chrono::duration<double, std::ratio<1, 1> > >::type", private, "\"cmConfigure.h\"", public ] },
+ { symbol: [ "std::enable_if<true, std::chrono::duration<long, std::ratio<1, 1> > >::type", private, "\"cmConfigure.h\"", public ] },
+ { symbol: [ "std::enable_if<true, std::chrono::duration<long, std::ratio<60, 1> > >::type", private, "\"cmConfigure.h\"", public ] },
+ { symbol: [ "std::enable_if<true, std::chrono::duration<long, std::ratio<1, 1000> > >::type", private, "\"cmConfigure.h\"", public ] },
# KWIML
{ include: [ "<stdint.h>", public, "\"cm_kwiml.h\"", public ] },