summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorJordan Rose <jordan_rose@apple.com>2014-04-24 17:27:18 +0000
committerJordan Rose <jordan_rose@apple.com>2014-04-24 17:27:18 +0000
commit7d2a5e6862f9098985ef9ff87d29dd6c130ad742 (patch)
tree6a806149d97b23bda767459e1ad273eaacf59270
parentd1ab86686876eb84692eb258b06c62beb79ad601 (diff)
downloadbcm5719-llvm-7d2a5e6862f9098985ef9ff87d29dd6c130ad742.tar.gz
bcm5719-llvm-7d2a5e6862f9098985ef9ff87d29dd6c130ad742.zip
Squelch leak found by LSan by handling missing switch case.
Also, use the enum type in the switch so this doesn't happen again. PR19523 llvm-svn: 207128
-rw-r--r--clang/lib/Sema/DelayedDiagnostic.cpp5
1 files changed, 3 insertions, 2 deletions
diff --git a/clang/lib/Sema/DelayedDiagnostic.cpp b/clang/lib/Sema/DelayedDiagnostic.cpp
index 533b7ef3e87..ddecfdb3765 100644
--- a/clang/lib/Sema/DelayedDiagnostic.cpp
+++ b/clang/lib/Sema/DelayedDiagnostic.cpp
@@ -52,12 +52,13 @@ DelayedDiagnostic::makeAvailability(Sema::AvailabilityDiagnostic AD,
}
void DelayedDiagnostic::Destroy() {
- switch (Kind) {
+ switch (static_cast<DDKind>(Kind)) {
case Access:
getAccessData().~AccessedEntity();
break;
- case Deprecation:
+ case Deprecation:
+ case Unavailable:
delete [] DeprecationData.Message;
break;
OpenPOWER on IntegriCloud