[llvm-commits] CVS: llvm/runtime/GCCLibraries/libexception/SJLJ-Exception.cpp
Chris Lattner
lattner at cs.uiuc.edu
Sat Aug 30 18:32:02 PDT 2003
Changes in directory llvm/runtime/GCCLibraries/libexception:
SJLJ-Exception.cpp updated: 1.1 -> 1.2
---
Log message:
Urg, forgot to add a file header somehow.
Add missing function comments
---
Diffs of the changes:
Index: llvm/runtime/GCCLibraries/libexception/SJLJ-Exception.cpp
diff -u llvm/runtime/GCCLibraries/libexception/SJLJ-Exception.cpp:1.1 llvm/runtime/GCCLibraries/libexception/SJLJ-Exception.cpp:1.2
--- llvm/runtime/GCCLibraries/libexception/SJLJ-Exception.cpp:1.1 Sat Aug 30 18:29:22 2003
+++ llvm/runtime/GCCLibraries/libexception/SJLJ-Exception.cpp Sat Aug 30 18:31:08 2003
@@ -1,8 +1,16 @@
+//===- SJLJ-Exception.cpp - SetJmp/LongJmp Exception Handling -------------===//
+//
+// This file implements the API used by the Setjmp/Longjmp exception handling
+// runtime library.
+//
+//===----------------------------------------------------------------------===//
#include "SJLJ-Exception.h"
#include <cstdlib>
#include <cassert>
+// get_sjlj_exception - Adjust the llvm_exception pointer to be an appropriate
+// llvm_sjlj_exception pointer.
inline llvm_sjlj_exception *get_sjlj_exception(llvm_exception *E) {
assert(E->ExceptionType == SJLJException);
return (llvm_sjlj_exception*)(E+1) - 1;
@@ -16,6 +24,9 @@
SetJmpMapEntry *Next;
};
+// SJLJDestructor - This function is used to free the exception when
+// language-indent code needs to destroy the exception without knowing exactly
+// what type it is.
static void SJLJDestructor(llvm_exception *E) {
free(get_sjlj_exception(E));
}
More information about the llvm-commits
mailing list