summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorBrad King <brad.king@kitware.com>2017-05-25 19:16:36 (GMT)
committerKitware Robot <kwrobot@kitware.com>2017-05-25 19:16:39 (GMT)
commit048f0065bf7f76d2c58bb5a0ec4e6cd7bd965dd3 (patch)
tree6a568fd6fcc963e88244ff7e0ddb7c8e339bbfb4
parent1f6509142d4ace26ce134e1c768e5f2249b8a08b (diff)
parent60afab9e44db242afe915afd73fb6f4924d69069 (diff)
downloadCMake-048f0065bf7f76d2c58bb5a0ec4e6cd7bd965dd3.zip
CMake-048f0065bf7f76d2c58bb5a0ec4e6cd7bd965dd3.tar.gz
CMake-048f0065bf7f76d2c58bb5a0ec4e6cd7bd965dd3.tar.bz2
Merge topic 'c++11-iwyu-decay-and-strip'
60afab9e IWYU: add mapping for std::__decay_and_strip Acked-by: Kitware Robot <kwrobot@kitware.com> Merge-request: !889
-rw-r--r--Utilities/IWYU/mapping.imp13
1 files changed, 13 insertions, 0 deletions
diff --git a/Utilities/IWYU/mapping.imp b/Utilities/IWYU/mapping.imp
index a732c9c..3604c0d 100644
--- a/Utilities/IWYU/mapping.imp
+++ b/Utilities/IWYU/mapping.imp
@@ -53,6 +53,19 @@
# This will still correctly require "cm_auto_ptr.hxx" for CM_AUTO_PTR.
{ symbol: [ "cm::auto_ptr", private, "\"cmConfigure.h\"", public ] },
+ # __decay_and_strip is used internally in the C++11 standard library.
+ # IWYU does not classify it as internal and suggests to add <type_traits>.
+ # To ignore it, we simply map it to a file that is included anyway.
+ # TODO: Can this be simplified with an @-expression?
+ #{ symbol: [ "@std::__decay_and_strip<.*>::__type", private, "\"cmConfigure.h\"", public ] },
+ { symbol: [ "std::__decay_and_strip<cmCommand *&>::__type", private, "\"cmConfigure.h\"", public ] },
+ { symbol: [ "std::__decay_and_strip<cmGeneratorTarget *&>::__type", private, "\"cmConfigure.h\"", public ] },
+ { symbol: [ "std::__decay_and_strip<cmFindCommon::PathLabel &>::__type", private, "\"cmConfigure.h\"", public ] },
+ { symbol: [ "std::__decay_and_strip<std::basic_string<char> &>::__type", private, "\"cmConfigure.h\"", public ] },
+ { 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 ] },
+
# Wrappers for headers added in TR1 / C++11
# { include: [ "<array>", public, "\"cm_array.hxx\"", public ] },
# { include: [ "<functional>", public, "\"cm_functional.hxx\"", public ] },