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.
This commit is contained in:
Tomas Lindquist Olsen
2008-08-10 08:37:38 +02:00
parent b2d860374b
commit 9d7f16b967
39 changed files with 693 additions and 455 deletions
+12 -12
View File
@@ -79,7 +79,7 @@ unittest
{
debug(apply) printf("_aApplyRcd1.unittest\n");
auto s = "hello"c;
char[] s = "hello"c;
int i;
foreach_reverse(dchar d; s)
@@ -143,7 +143,7 @@ unittest
{
debug(apply) printf("_aApplyRwd1.unittest\n");
auto s = "hello"w;
wchar[] s = "hello"w;
int i;
foreach_reverse(dchar d; s)
@@ -229,7 +229,7 @@ unittest
{
debug(apply) printf("_aApplyRcw1.unittest\n");
auto s = "hello"c;
char[] s = "hello"c;
int i;
foreach_reverse(wchar d; s)
@@ -310,7 +310,7 @@ unittest
{
debug(apply) printf("_aApplyRwc1.unittest\n");
auto s = "hello"w;
wchar[] s = "hello"w;
int i;
foreach_reverse(char d; s)
@@ -389,7 +389,7 @@ unittest
{
debug(apply) printf("_aApplyRdc1.unittest\n");
auto s = "hello"d;
dchar[] s = "hello"d;
int i;
foreach_reverse(char d; s)
@@ -461,7 +461,7 @@ unittest
{
debug(apply) printf("_aApplyRdw1.unittest\n");
auto s = "hello"d;
dchar[] s = "hello"d;
int i;
foreach_reverse(wchar d; s)
@@ -543,7 +543,7 @@ unittest
{
debug(apply) printf("_aApplyRcd2.unittest\n");
auto s = "hello"c;
char[] s = "hello"c;
int i;
foreach_reverse(k, dchar d; s)
@@ -608,7 +608,7 @@ unittest
{
debug(apply) printf("_aApplyRwd2.unittest\n");
auto s = "hello"w;
wchar[] s = "hello"w;
int i;
foreach_reverse(k, dchar d; s)
@@ -696,7 +696,7 @@ unittest
{
debug(apply) printf("_aApplyRcw2.unittest\n");
auto s = "hello"c;
char[] s = "hello"c;
int i;
foreach_reverse(k, wchar d; s)
@@ -779,7 +779,7 @@ unittest
{
debug(apply) printf("_aApplyRwc2.unittest\n");
auto s = "hello"w;
wchar[] s = "hello"w;
int i;
foreach_reverse(k, char d; s)
@@ -859,7 +859,7 @@ unittest
{
debug(apply) printf("_aApplyRdc2.unittest\n");
auto s = "hello"d;
dchar[] s = "hello"d;
int i;
foreach_reverse(k, char d; s)
@@ -933,7 +933,7 @@ unittest
{
debug(apply) printf("_aApplyRdw2.unittest\n");
auto s = "hello"d;
dchar[] s = "hello"d;
int i;
foreach_reverse(k, wchar d; s)
-1
View File
@@ -101,7 +101,6 @@ alias BB* AA;
size_t aligntsize(size_t tsize)
{
// Is pointer alignment on the x64 4 bytes or 8?
return (tsize + size_t.sizeof - 1) & ~(size_t.sizeof - 1);
}
+15 -15
View File
@@ -67,7 +67,7 @@ struct Array
* reversed.
*/
extern (C) Array _adReverseChar(char[] a)
extern (C) char[] _adReverseChar(char[] a)
{
if (a.length > 1)
{
@@ -127,14 +127,14 @@ extern (C) Array _adReverseChar(char[] a)
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 @@ unittest
* reversed.
*/
extern (C) Array _adReverseWchar(wchar[] a)
extern (C) wchar[] _adReverseWchar(wchar[] a)
{
if (a.length > 1)
{
@@ -220,13 +220,13 @@ extern (C) Array _adReverseWchar(wchar[] a)
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 @@ unittest
* Sort array of chars.
*/
extern (C) Array _adSortChar(char[] a)
extern (C) char[] _adSortChar(char[] a)
{
if (a.length > 1)
{
@@ -346,14 +346,14 @@ extern (C) Array _adSortChar(char[] a)
}
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 @@ extern (C) Array _adSortWchar(wchar[] a)
}
delete da;
}
return Array(a.length, a.ptr);
return a;
}
/***************************************
@@ -392,7 +392,7 @@ unittest
{
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 @@ unittest
{
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 @@ unittest
{
debug(adi) printf("array.CmpChar unittest\n");
auto a = "hello"c;
char[] a = "hello"c;
assert(a > "hel");
assert(a >= "hel");