This is an archive of the discontinued LLVM Phabricator instance.

[analyzer] Don't delete TaintConfig copy constructor
ClosedPublic

Authored by xiaobai on Aug 13 2019, 5:58 PM.

Details

Summary

Explicitly deleting the copy constructor makes compiling the function
ento::registerGenericTaintChecker difficult with some compilers. When we
construct an llvm::Optional<TaintConfig>, 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.

Diff Detail

Repository
rL LLVM

Event Timeline

xiaobai created this revision.Aug 13 2019, 5:58 PM
Herald added a project: Restricted Project. · View Herald TranscriptAug 13 2019, 5:58 PM
Szelethus accepted this revision.Aug 13 2019, 6:01 PM

This really shouldn't matter much. Go for it!

This revision is now accepted and ready to land.Aug 13 2019, 6:01 PM
This revision was automatically updated to reflect the committed changes.
Herald added a project: Restricted Project. · View Herald TranscriptAug 13 2019, 6:08 PM