Don't delete default constructor of PathDiagnosticConsumerOptions
authorMoritz Sichert <sichert@in.tum.de>
Fri, 27 Nov 2020 11:26:46 +0000 (12:26 +0100)
committerMoritz Sichert <sichert@in.tum.de>
Fri, 22 Jan 2021 12:42:38 +0000 (13:42 +0100)
commite16959c9b8553a60ec5e9aa55d101154d5805292
treebc821dd887288180bd697c3e5a4dc7c8a12be3fd
parentd972d4c749048531953a16b815e07c67e8455a3b
Don't delete default constructor of PathDiagnosticConsumerOptions

This type is used as an aggregate, i.e. it has no member functions.
Starting with C++20 types with deleted default constructors are not
aggregate types anymore which means that aggregate initialization will
not work for this class anymore. This leads to a compile error in
clang::AnalyzerOptions::getDiagOpts() for example.

Also set the boolean flags to false by default to avoid undefined
behavior. Previously this was prevented by deleting the default
constructor, now we explicitly initialize them.

Differential Revision: https://reviews.llvm.org/D92221
clang/include/clang/Analysis/PathDiagnostic.h