diff runtime/internal/memory.d @ 1151:3cf0066e6faf

- Versioned Expresssion::toElem with #if IN_DMD/IN_LLVM. - Eliminated the DLRValue DValue. - Implemented proactive handling of l-value CastExpS. - Minor tweak in runtime memory.d .
author Tomas Lindquist Olsen <tomas.l.olsen gmail.com>
date Sat, 28 Mar 2009 05:00:43 +0100
parents bd000a7fab18
children 4a5eea0334e5
line wrap: on
line diff
--- a/runtime/internal/memory.d	Fri Mar 27 23:24:47 2009 +0100
+++ b/runtime/internal/memory.d	Sat Mar 28 05:00:43 2009 +0100
@@ -68,12 +68,9 @@
             import tango.stdc.posix.dlfcn;
         }
     }
-    version(LDC)
+    pragma(intrinsic, "llvm.frameaddress")
     {
-        pragma(intrinsic, "llvm.frameaddress")
-        {
-                void* llvm_frameaddress(uint level=0);
-        }
+            void* llvm_frameaddress(uint level=0);
     }
 }
 
@@ -147,11 +144,7 @@
  */
 extern (C) void* rt_stackTop()
 {
-    version(LDC)
-    {
-        return llvm_frameaddress();
-    }
-    else version( D_InlineAsm_X86 )
+    version( D_InlineAsm_X86 )
     {
         asm
         {
@@ -162,7 +155,7 @@
     }
     else
     {
-            static assert( false, "Architecture not supported." );
+        return llvm_frameaddress();
     }
 }