# HG changeset patch # User Tomas Lindquist Olsen # Date 1228182331 -3600 # Node ID 43178a913a28519e02829c26b66ef569d56fea18 # Parent 8f0b24bc55f07e84018a7dae7507c56fbd9942af Removed PAGESIZE part of Tango patch, it works for me when the check is removed. Updated Tango patch to latest Tango revision. diff -r 8f0b24bc55f0 -r 43178a913a28 dmd/mtype.c --- a/dmd/mtype.c Tue Dec 02 01:44:17 2008 +0100 +++ b/dmd/mtype.c Tue Dec 02 02:45:31 2008 +0100 @@ -2979,14 +2979,6 @@ arg->defaultArg = arg->defaultArg->semantic(sc); arg->defaultArg = resolveProperties(sc, arg->defaultArg); arg->defaultArg = arg->defaultArg->implicitCastTo(sc, arg->type); - - // make sure default arguments only use variables with lower protection - // this check only catches the common case that the default arg Exp is a VarExp - if(arg->defaultArg->op == TOKvar) - { VarExp *ve = (VarExp *)arg->defaultArg; - if(ve->var->protection != PROTundefined && ve->var->protection < sc->protection) - error(loc, "default argument %s has stronger protection than function %s", ve->var->toChars(), toChars()); - } } /* If arg turns out to be a tuple, the number of parameters may diff -r 8f0b24bc55f0 -r 43178a913a28 dmd2/mtype.c --- a/dmd2/mtype.c Tue Dec 02 01:44:17 2008 +0100 +++ b/dmd2/mtype.c Tue Dec 02 02:45:31 2008 +0100 @@ -3465,14 +3465,6 @@ arg->defaultArg = arg->defaultArg->semantic(sc); arg->defaultArg = resolveProperties(sc, arg->defaultArg); arg->defaultArg = arg->defaultArg->implicitCastTo(sc, arg->type); - - // make sure default arguments only use variables with lower protection - // this check only catches the common case that the default arg Exp is a VarExp - if(arg->defaultArg->op == TOKvar) - { VarExp *ve = (VarExp *)arg->defaultArg; - if(ve->var->protection != PROTundefined && ve->var->protection < sc->protection) - error(loc, "default argument %s has stronger protection than function %s", ve->var->toChars(), toChars()); - } } /* If arg turns out to be a tuple, the number of parameters may diff -r 8f0b24bc55f0 -r 43178a913a28 runtime/ldc.diff --- a/runtime/ldc.diff Tue Dec 02 01:44:17 2008 +0100 +++ b/runtime/ldc.diff Tue Dec 02 02:45:31 2008 +0100 @@ -1,63 +1,6 @@ -Index: lib/unittest.sh -=================================================================== ---- lib/unittest.sh (revision 4134) -+++ lib/unittest.sh (working copy) -@@ -18,8 +18,9 @@ - --help: This message - --run-all: Reports result instead of breaking. Do not use this if you want to - run unittest runner through a debugger. -- dmd: Builds unittests for dmd -- gdc: Builds unittests for gdc -+ dmd: Builds unittests for dmd -+ gdc: Builds unittests for gdc -+ ldc: Builds unittests for ldc - - : Builds unittests for all known compilers.' - exit 0 -@@ -86,7 +87,7 @@ - void main() {} - EOF - -- rebuild -w -d -g -L-ldl -L-lz -L-lbz2 -debug=UnitTest -debug -full -clean -unittest \ -+ rebuild -w -d -L-ldl -L-lz -L-lbz2 -debug=UnitTest -debug -full -clean -unittest \ - -version=UnitTest $EXE.d tango/core/*.d tango/core/sync/*.d tango/io/digest/*.d \ - tango/io/model/*.d tango/io/protocol/*.d tango/io/selector/*.d tango/io/*.d \ - tango/io/vfs/*.d tango/io/vfs/model/*.d \ -@@ -125,6 +126,9 @@ - gdc) - GDC=1 - ;; -+ ldc) -+ LDC=1 -+ ;; - *) - usage - ;; -@@ -132,10 +136,11 @@ - shift - done - --if [ ! "$DMD" -a ! "$GDC" ] -+if [ ! "$DMD" -a ! "$GDC" -a ! "$LDC" ] - then - DMD=1 - GDC=1 -+ LDC=1 - fi - - if [ "$DMD" = "1" ] -@@ -146,4 +151,7 @@ - then - compile gdc runUnitTest_gdc - fi -- -+if [ "$LDC" = "1" ] -+then -+ compile ldc runUnitTest_ldc -+fi Index: lib/common/tango/core/BitManip.d =================================================================== ---- lib/common/tango/core/BitManip.d (revision 4134) +--- lib/common/tango/core/BitManip.d (revision 4145) +++ lib/common/tango/core/BitManip.d (working copy) @@ -171,6 +171,10 @@ */ @@ -72,7 +15,7 @@ public import std.intrinsic; Index: lib/common/tango/core/Thread.d =================================================================== ---- lib/common/tango/core/Thread.d (revision 4134) +--- lib/common/tango/core/Thread.d (revision 4145) +++ lib/common/tango/core/Thread.d (working copy) @@ -273,8 +273,50 @@ } @@ -170,20 +113,7 @@ { // NOTE: The ucontext implementation requires architecture specific // data definitions to operate so testing for it must be done -@@ -2367,9 +2429,11 @@ - import tango.stdc.posix.ucontext; - } - } -- const size_t PAGESIZE; - } - -+// this currently need to be public for LDC -+const size_t PAGESIZE; -+ - static this() - { - static if( is( typeof( GetSystemInfo ) ) ) -@@ -2510,6 +2574,28 @@ +@@ -2510,6 +2572,28 @@ ret; } } @@ -212,7 +142,7 @@ else static if( is( ucontext_t ) ) { Fiber cfib = Fiber.getThis(); -@@ -2522,7 +2608,7 @@ +@@ -2522,7 +2606,7 @@ } } @@ -221,7 +151,7 @@ //////////////////////////////////////////////////////////////////////////////// // Fiber //////////////////////////////////////////////////////////////////////////////// -@@ -3177,6 +3263,22 @@ +@@ -3177,6 +3261,22 @@ push( 0x00000000 ); // ESI push( 0x00000000 ); // EDI } @@ -244,9 +174,66 @@ else version( AsmPPC_Posix ) { version( StackGrowsDown ) +Index: lib/unittest.sh +=================================================================== +--- lib/unittest.sh (revision 4145) ++++ lib/unittest.sh (working copy) +@@ -18,8 +18,9 @@ + --help: This message + --run-all: Reports result instead of breaking. Do not use this if you want to + run unittest runner through a debugger. +- dmd: Builds unittests for dmd +- gdc: Builds unittests for gdc ++ dmd: Builds unittests for dmd ++ gdc: Builds unittests for gdc ++ ldc: Builds unittests for ldc + + : Builds unittests for all known compilers.' + exit 0 +@@ -86,7 +87,7 @@ + void main() {} + EOF + +- rebuild -w -d -g -L-ldl -L-lz -L-lbz2 -debug=UnitTest -debug -full -clean -unittest \ ++ rebuild -w -d -L-ldl -L-lz -L-lbz2 -debug=UnitTest -debug -full -clean -unittest \ + -version=UnitTest $EXE.d tango/core/*.d tango/core/sync/*.d tango/io/digest/*.d \ + tango/io/model/*.d tango/io/protocol/*.d tango/io/selector/*.d tango/io/*.d \ + tango/io/vfs/*.d tango/io/vfs/model/*.d \ +@@ -125,6 +126,9 @@ + gdc) + GDC=1 + ;; ++ ldc) ++ LDC=1 ++ ;; + *) + usage + ;; +@@ -132,10 +136,11 @@ + shift + done + +-if [ ! "$DMD" -a ! "$GDC" ] ++if [ ! "$DMD" -a ! "$GDC" -a ! "$LDC" ] + then + DMD=1 + GDC=1 ++ LDC=1 + fi + + if [ "$DMD" = "1" ] +@@ -146,4 +151,7 @@ + then + compile gdc runUnitTest_gdc + fi +- ++if [ "$LDC" = "1" ] ++then ++ compile ldc runUnitTest_ldc ++fi Index: lib/gc/basic/gcx.d =================================================================== ---- lib/gc/basic/gcx.d (revision 4134) +--- lib/gc/basic/gcx.d (revision 4145) +++ lib/gc/basic/gcx.d (working copy) @@ -65,6 +65,13 @@ } @@ -339,7 +326,7 @@ asm Index: lib/gc/basic/gcbits.d =================================================================== ---- lib/gc/basic/gcbits.d (revision 4134) +--- lib/gc/basic/gcbits.d (revision 4145) +++ lib/gc/basic/gcbits.d (working copy) @@ -39,6 +39,10 @@ { @@ -354,7 +341,7 @@ version = Asm86; Index: lib/build-tango.sh =================================================================== ---- lib/build-tango.sh (revision 4134) +--- lib/build-tango.sh (revision 4145) +++ lib/build-tango.sh (working copy) @@ -23,7 +23,7 @@ --debug: Will enable debug info @@ -386,7 +373,7 @@ build powerpc-apple-darwin8-gdmd libgtango.a.ppc libgphobos.a.ppc Index: tango/text/convert/Layout.d =================================================================== ---- tango/text/convert/Layout.d (revision 4134) +--- tango/text/convert/Layout.d (revision 4145) +++ tango/text/convert/Layout.d (working copy) @@ -47,6 +47,12 @@ alias void* Arg; @@ -412,7 +399,7 @@ return parse (formatStr, arguments, arglist, sink); Index: tango/net/cluster/CacheInvalidator.d =================================================================== ---- tango/net/cluster/CacheInvalidator.d (revision 4134) +--- tango/net/cluster/CacheInvalidator.d (revision 4145) +++ tango/net/cluster/CacheInvalidator.d (working copy) @@ -79,7 +79,7 @@ @@ -425,7 +412,7 @@ Index: tango/core/Vararg.d =================================================================== ---- tango/core/Vararg.d (revision 4134) +--- tango/core/Vararg.d (revision 4145) +++ tango/core/Vararg.d (working copy) @@ -15,6 +15,10 @@ { @@ -440,9 +427,9 @@ /** Index: tango/core/sync/Semaphore.d =================================================================== ---- tango/core/sync/Semaphore.d (revision 4134) +--- tango/core/sync/Semaphore.d (revision 4145) +++ tango/core/sync/Semaphore.d (working copy) -@@ -380,7 +380,8 @@ +@@ -384,7 +384,8 @@ { synchronized( synComplete ) { @@ -452,7 +439,7 @@ break; } Thread.yield(); -@@ -388,9 +389,9 @@ +@@ -392,9 +393,9 @@ synchronized( synComplete ) { @@ -464,7 +451,7 @@ synchronized( synConsumed ) { assert( numConsumed == numToProduce ); -@@ -451,7 +452,8 @@ +@@ -455,7 +456,8 @@ unittest { @@ -476,7 +463,7 @@ } Index: tango/core/sync/Condition.d =================================================================== ---- tango/core/sync/Condition.d (revision 4134) +--- tango/core/sync/Condition.d (revision 4145) +++ tango/core/sync/Condition.d (working copy) @@ -553,8 +553,11 @@ @@ -492,7 +479,7 @@ } Index: tango/core/Atomic.d =================================================================== ---- tango/core/Atomic.d (revision 4134) +--- tango/core/Atomic.d (revision 4145) +++ tango/core/Atomic.d (working copy) @@ -270,6 +270,167 @@ @@ -664,7 +651,7 @@ Index: tango/math/IEEE.d =================================================================== ---- tango/math/IEEE.d (revision 4134) +--- tango/math/IEEE.d (revision 4145) +++ tango/math/IEEE.d (working copy) @@ -1554,7 +1554,12 @@ return (bitsdiff == 0 && !((pa[F.EXPPOS_SHORT] ^ pb[F.EXPPOS_SHORT])& F.EXPMASK)) ? 1 : 0; @@ -682,7 +669,7 @@ Index: tango/math/Math.d =================================================================== ---- tango/math/Math.d (revision 4134) +--- tango/math/Math.d (revision 4145) +++ tango/math/Math.d (working copy) @@ -76,6 +76,14 @@ version = DigitalMars_D_InlineAsm_X86; @@ -831,7 +818,7 @@ debug(UnitTest) { Index: tango/stdc/posix/sys/types.d =================================================================== ---- tango/stdc/posix/sys/types.d (revision 4134) +--- tango/stdc/posix/sys/types.d (revision 4145) +++ tango/stdc/posix/sys/types.d (working copy) @@ -422,7 +422,11 @@ } @@ -848,7 +835,7 @@ { Index: tango/stdc/stdlib.d =================================================================== ---- tango/stdc/stdlib.d (revision 4134) +--- tango/stdc/stdlib.d (revision 4145) +++ tango/stdc/stdlib.d (working copy) @@ -94,6 +94,11 @@ { @@ -864,7 +851,7 @@ private import gcc.builtins; Index: tango/stdc/stdarg.d =================================================================== ---- tango/stdc/stdarg.d (revision 4134) +--- tango/stdc/stdarg.d (revision 4145) +++ tango/stdc/stdarg.d (working copy) @@ -13,6 +13,10 @@ {