From: Alex Langford Date: Wed, 14 Aug 2019 01:09:07 +0000 (+0000) Subject: [analyzer] Don't delete TaintConfig copy constructor X-Git-Url: https://granicus.if.org/sourcecode?a=commitdiff_plain;h=615bedd92154f50c53a905d3f4ceb61d30a6609c;p=clang [analyzer] Don't delete TaintConfig copy constructor Summary: Explicitly deleting the copy constructor makes compiling the function `ento::registerGenericTaintChecker` difficult with some compilers. When we construct an `llvm::Optional`, the optional is constructed with a const TaintConfig reference which it then uses to invoke the deleted TaintConfig copy constructor. I've observered this failing with clang 3.8 on Ubuntu 16.04. Reviewers: compnerd, Szelethus, boga95, NoQ, alexshap Subscribers: xazax.hun, baloghadamsoftware, szepet, a.sidorin, mikhail.ramalho, donat.nagy, dkrupp, Charusso, llvm-commits, cfe-commits Tags: #clang Differential Revision: https://reviews.llvm.org/D66192 git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@368779 91177308-0d34-0410-b5e6-96231b3b80d8 --- diff --git a/lib/StaticAnalyzer/Checkers/GenericTaintChecker.cpp b/lib/StaticAnalyzer/Checkers/GenericTaintChecker.cpp index b2172f6e9f..42b35acd31 100644 --- a/lib/StaticAnalyzer/Checkers/GenericTaintChecker.cpp +++ b/lib/StaticAnalyzer/Checkers/GenericTaintChecker.cpp @@ -71,9 +71,9 @@ public: std::vector Sinks; TaintConfiguration() = default; - TaintConfiguration(const TaintConfiguration &) = delete; + TaintConfiguration(const TaintConfiguration &) = default; TaintConfiguration(TaintConfiguration &&) = default; - TaintConfiguration &operator=(const TaintConfiguration &) = delete; + TaintConfiguration &operator=(const TaintConfiguration &) = default; TaintConfiguration &operator=(TaintConfiguration &&) = default; };