[clang-tools-extra] 0d25d3b - [clang-tidy] Fix build problem after commit 45a720a864320bbbeb596a

Bjorn Pettersson via cfe-commits cfe-commits at lists.llvm.org
Fri Jul 31 05:31:16 PDT 2020


Author: Bjorn Pettersson
Date: 2020-07-31T14:29:03+02:00
New Revision: 0d25d3b7e3e3acb86d93acb2291c1d26e056746b

URL: https://github.com/llvm/llvm-project/commit/0d25d3b7e3e3acb86d93acb2291c1d26e056746b
DIFF: https://github.com/llvm/llvm-project/commit/0d25d3b7e3e3acb86d93acb2291c1d26e056746b.diff

LOG: [clang-tidy] Fix build problem after commit 45a720a864320bbbeb596a

When building with LLVM8.0 on RHEL7.8 I got failures like this
after commit 45a720a864320bbbe:

/app/llvm/8.0/bin/../lib/gcc/x86_64-unknown-linux-gnu/
5.4.0/../../../../include/c++/5.4.0/ext/new_allocator.h:120:23:
error: no matching constructor for initialization of
'std::pair<std::__cxx11::basic_string<char>,
std::__cxx11::basic_string<char> >'
{ ::new((void *)__p) _Up(std::forward<_Args>(__args)...); }

...

../../clang-tools-extra/clang-tidy/ClangTidyOptions.cpp:73:15:
note: in instantiation of function template specialization
'std::vector<std::pair<std::__cxx11::basic_string<char>,
std::__cxx11::basic_string<char> >,
std::allocator<std::pair<std::__cxx11::basic_string<char>,
std::__cxx11::basic_string<char> > > >::emplace_back<llvm::StringRef,
const std::__cxx11::basic_string<char> &>' requested here
Options.emplace_back(KeyValue.getKey(), KeyValue.getValue().Value);

This is an attempt to avoid such build problems.

Added: 
    

Modified: 
    clang-tools-extra/clang-tidy/ClangTidyOptions.cpp

Removed: 
    


################################################################################
diff  --git a/clang-tools-extra/clang-tidy/ClangTidyOptions.cpp b/clang-tools-extra/clang-tidy/ClangTidyOptions.cpp
index 19ba47f005dc..6b28cb2bdd13 100644
--- a/clang-tools-extra/clang-tidy/ClangTidyOptions.cpp
+++ b/clang-tools-extra/clang-tidy/ClangTidyOptions.cpp
@@ -70,7 +70,7 @@ struct NOptionMap {
   NOptionMap(IO &, const ClangTidyOptions::OptionMap &OptionMap) {
     Options.reserve(OptionMap.size());
     for (const auto &KeyValue : OptionMap)
-      Options.emplace_back(KeyValue.getKey(), KeyValue.getValue().Value);
+      Options.emplace_back(std::string(KeyValue.getKey()), KeyValue.getValue().Value);
   }
   ClangTidyOptions::OptionMap denormalize(IO &) {
     ClangTidyOptions::OptionMap Map;


        


More information about the cfe-commits mailing list