Fix wierd problems linking C programs which look for symbols in libstdc++.
authorChris Lattner <sabre@nondot.org>
Sat, 8 Nov 2003 05:13:40 +0000 (05:13 +0000)
committerChris Lattner <sabre@nondot.org>
Sat, 8 Nov 2003 05:13:40 +0000 (05:13 +0000)
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.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@9801 91177308-0d34-0410-b5e6-96231b3b80d8

runtime/GCCLibraries/crtend/Exception.cpp

index 156b714cb1a2c4e490524407bd3a5eb3d53c8894..d4ac290122dc07ab85ebae85fd66ffd03179afbd 100644 (file)
@@ -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 @@ bool __llvm_eh_has_uncaught_exception() throw() {
 // 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 @@ void __llvm_eh_add_uncaught_exception(llvm_exception *E) throw() {
 // __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;
 }