[llvm-commits] CVS: llvm/runtime/GCCLibraries/crtend/Exception.cpp

Chris Lattner lattner at cs.uiuc.edu
Fri Nov 7 23:14:00 PST 2003


Changes in directory llvm/runtime/GCCLibraries/crtend:

Exception.cpp updated: 1.1 -> 1.2

---
Log message:

Fix wierd problems linking C programs which look for symbols in libstdc++.  
This was due to the 'assert' macro expanding into a function call on some 
platforms which could throw.  The C++ compiler then added checks for the
exception specifications in these functions, which pulled in the C++ runtime.
This was bad, and the assertions can never fire (the library is now debugged)
so just remove them.


---
Diffs of the changes:  (+0 -3)

Index: llvm/runtime/GCCLibraries/crtend/Exception.cpp
diff -u llvm/runtime/GCCLibraries/crtend/Exception.cpp:1.1 llvm/runtime/GCCLibraries/crtend/Exception.cpp:1.2
--- llvm/runtime/GCCLibraries/crtend/Exception.cpp:1.1	Sat Aug 30 18:17:51 2003
+++ llvm/runtime/GCCLibraries/crtend/Exception.cpp	Fri Nov  7 23:13:40 2003
@@ -6,7 +6,6 @@
 //===----------------------------------------------------------------------===//
 
 #include "Exception.h"
-#include <cassert>
 
 // Thread local state for exception handling.  FIXME: This should really be made
 // thread-local!
@@ -26,7 +25,6 @@
 // returns a pointer to the exception area data.
 //
 void *__llvm_eh_current_uncaught_exception_type(unsigned HandlerType) throw() {
-  assert(UncaughtExceptionStack && "No uncaught exception!");
   if (UncaughtExceptionStack->ExceptionType == HandlerType)
     return UncaughtExceptionStack+1;
   return 0;
@@ -44,7 +42,6 @@
 // __llvm_eh_get_uncaught_exception - Returns the current uncaught exception.
 // There must be an uncaught exception for this to work!
 llvm_exception *__llvm_eh_get_uncaught_exception() throw() {
-  assert(UncaughtExceptionStack && "There are no uncaught exceptions!?!?");
   return UncaughtExceptionStack;
 }
 





More information about the llvm-commits mailing list