A typeid of zero means a cleanup, not a catch. This case occurs

when there is both a catch and a cleanup.  Correct the comment.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@140686 91177308-0d34-0410-b5e6-96231b3b80d8
This commit is contained in:
Duncan Sands 2011-09-28 09:13:02 +00:00
parent ca9215970d
commit 42e5c799b6

View File

@ -649,12 +649,14 @@ void DwarfException::EmitExceptionTable() {
// Used by the runtime to match the type of the thrown exception to the
// type of the catch clauses or the types in the exception specification.
if (VerboseAsm) {
if (Action.ValueForTypeID >= 0)
if (Action.ValueForTypeID > 0)
Asm->OutStreamer.AddComment(Twine(" Catch TypeInfo ") +
llvm::itostr(Action.ValueForTypeID));
else
else if (Action.ValueForTypeID < 0)
Asm->OutStreamer.AddComment(Twine(" Filter TypeInfo ") +
llvm::itostr(Action.ValueForTypeID));
else
Asm->OutStreamer.AddComment(" Cleanup");
}
Asm->EmitSLEB128(Action.ValueForTypeID);