diff runtime/internal/adi.d @ 486:a34078905d01

Added pragma(llvmdc, "string") for misc per-module compiler configuration, currently "string" can only be "verbose" which forces -vv for module it appears in. Reimplemented support for nested functions/class using a new approach. Added error on taking address of intrinsic. Fixed problems with the ->syntaxCopy of TypeFunction delegate exp. Removed DtoDType and replaced all uses with ->toBasetype() instead. Removed unused inplace stuff. Fixed a bunch of issues in the runtime unittests, not complete yet. Added mini tests.
author Tomas Lindquist Olsen <tomas.l.olsen@gmail.com>
date Sun, 10 Aug 2008 08:37:38 +0200
parents 44f08170f4ef
children 30b42a283c8e
line wrap: on
line diff
--- a/runtime/internal/adi.d	Sat Aug 09 09:03:52 2008 +0200
+++ b/runtime/internal/adi.d	Sun Aug 10 08:37:38 2008 +0200
@@ -67,7 +67,7 @@
  * reversed.
  */
 
-extern (C) Array _adReverseChar(char[] a)
+extern (C) char[] _adReverseChar(char[] a)
 {
     if (a.length > 1)
     {
@@ -127,14 +127,14 @@
             hi = hi - 1 + (stridehi - stridelo);
         }
     }
-    return Array(a.length, a.ptr);
+    return a;
 }
 
 unittest
 {
-    auto a = "abcd"c;
+    char[] a = "abcd"c;
 
-    auto r = a.dup.reverse;
+    char[] r = a.dup.reverse;
     //writefln(r);
     assert(r == "dcba");
 
@@ -162,7 +162,7 @@
  * reversed.
  */
 
-extern (C) Array _adReverseWchar(wchar[] a)
+extern (C) wchar[] _adReverseWchar(wchar[] a)
 {
     if (a.length > 1)
     {
@@ -220,13 +220,13 @@
             hi = hi - 1 + (stridehi - stridelo);
         }
     }
-    return Array(a.length, a.ptr);
+    return a;
 }
 
 unittest
 {
-    wstring a = "abcd";
-    wstring r;
+    wchar[] a = "abcd";
+    wchar[] r;
 
     r = a.dup.reverse;
     assert(r == "dcba");
@@ -331,7 +331,7 @@
  * Sort array of chars.
  */
 
-extern (C) Array _adSortChar(char[] a)
+extern (C) char[] _adSortChar(char[] a)
 {
     if (a.length > 1)
     {
@@ -346,14 +346,14 @@
         }
         delete da;
     }
-    return Array(a.length, a.ptr);
+    return a;
 }
 
 /**********************************************
  * Sort array of wchars.
  */
 
-extern (C) Array _adSortWchar(wchar[] a)
+extern (C) wchar[] _adSortWchar(wchar[] a)
 {
     if (a.length > 1)
     {
@@ -368,7 +368,7 @@
         }
         delete da;
     }
-    return Array(a.length, a.ptr);
+    return a;
 }
 
 /***************************************
@@ -392,7 +392,7 @@
 {
     debug(adi) printf("array.Eq unittest\n");
 
-    auto a = "hello"c;
+    char[] a = "hello"c;
 
     assert(a != "hel");
     assert(a != "helloo");
@@ -425,7 +425,7 @@
 {
     debug(adi) printf("array.Cmp unittest\n");
 
-    auto a = "hello"c;
+    char[] a = "hello"c;
 
     assert(a >  "hel");
     assert(a >= "hel");
@@ -575,7 +575,7 @@
 {
     debug(adi) printf("array.CmpChar unittest\n");
 
-    auto a = "hello"c;
+    char[] a = "hello"c;
 
     assert(a >  "hel");
     assert(a >= "hel");