For enums with no tag name, display its location in
the diagnostic instead of displaying ''.
// rdar://11082110
llvm-svn: 153219
diff --git a/clang/lib/Sema/SemaStmt.cpp b/clang/lib/Sema/SemaStmt.cpp
index 1ddedcf..6db66a5 100644
--- a/clang/lib/Sema/SemaStmt.cpp
+++ b/clang/lib/Sema/SemaStmt.cpp
@@ -881,7 +881,7 @@
EI++;
if (EI == EIend || EI->first > CI->first)
Diag(CI->second->getLHS()->getExprLoc(), diag::warn_not_in_enum)
- << ED->getDeclName();
+ << CondTypeBeforePromotion;
}
// See which of case ranges aren't in enum
EI = EnumVals.begin();
@@ -892,7 +892,7 @@
if (EI == EIend || EI->first != RI->first) {
Diag(RI->second->getLHS()->getExprLoc(), diag::warn_not_in_enum)
- << ED->getDeclName();
+ << CondTypeBeforePromotion;
}
llvm::APSInt Hi =
@@ -902,7 +902,7 @@
EI++;
if (EI == EIend || EI->first != Hi)
Diag(RI->second->getRHS()->getExprLoc(), diag::warn_not_in_enum)
- << ED->getDeclName();
+ << CondTypeBeforePromotion;
}
// Check which enum vals aren't in switch