[llvm-commits] [llvm-gcc-4.0] r46011 - /llvm-gcc-4.0/trunk/gcc/llvm-convert.cpp

Chris Lattner sabre at nondot.org
Tue Jan 15 13:38:04 PST 2008


Author: lattner
Date: Tue Jan 15 15:38:04 2008
New Revision: 46011

URL: http://llvm.org/viewvc/llvm-project?rev=46011&view=rev
Log:
implement __builtin_trap, which was previously just broken.

Modified:
    llvm-gcc-4.0/trunk/gcc/llvm-convert.cpp

Modified: llvm-gcc-4.0/trunk/gcc/llvm-convert.cpp
URL: http://llvm.org/viewvc/llvm-project/llvm-gcc-4.0/trunk/gcc/llvm-convert.cpp?rev=46011&r1=46010&r2=46011&view=diff

==============================================================================
--- llvm-gcc-4.0/trunk/gcc/llvm-convert.cpp (original)
+++ llvm-gcc-4.0/trunk/gcc/llvm-convert.cpp Tue Jan 15 15:38:04 2008
@@ -4644,6 +4644,12 @@
                                 Args.begin(), Args.end());
     return true;
   }
+   case BUILT_IN_TRAP:
+     Builder.CreateCall(Intrinsic::getDeclaration(TheModule, Intrinsic::trap));
+     // Emit an explicit unreachable instruction.
+     Builder.CreateUnreachable();
+     EmitBlock(new BasicBlock(""));
+     return true;
 
 #if 1  // FIXME: Should handle these GCC extensions eventually.
     case BUILT_IN_APPLY_ARGS:
@@ -4657,7 +4663,6 @@
     case BUILT_IN_SETJMP:
     case BUILT_IN_LONGJMP:
     case BUILT_IN_UPDATE_SETJMP_BUF:
-    case BUILT_IN_TRAP:
 
     // FIXME: HACK: Just ignore these.
     {





More information about the llvm-commits mailing list