bug of scope (linux only) verified, Critical
redsea
redsea at 163.com
Tue Dec 16 23:11:41 PST 2008
detail enviorment infomation:
[tmp]root uname -a
Linux debian-dev-testing 2.6.25.20-pm-mon-02 #1 Sun Dec 7 17:57:03 CST 2008 i686 GNU/Linux
[tmp]root dmd -v
Digital Mars D Compiler v1.038
Copyright (c) 1999-2008 by Digital Mars written by Walter Bright
Documentation: http://www.digitalmars.com/d/1.0/index.html
[tmp]root dmd -v t.d
parse t
semantic t
import object (/root/dmd/bin/../src/phobos/object.d)
import std.stdio (/root/dmd/bin/../src/phobos/std/stdio.d)
import std.c.stdio (/root/dmd/bin/../src/phobos/std/c/stdio.d)
import std.c.stddef (/root/dmd/bin/../src/phobos/std/c/stddef.d)
import std.c.stdarg (/root/dmd/bin/../src/phobos/std/c/stdarg.d)
import std.format (/root/dmd/bin/../src/phobos/std/format.d)
import std.stdarg (/root/dmd/bin/../src/phobos/std/stdarg.d)
import std.utf (/root/dmd/bin/../src/phobos/std/utf.d)
import std.c.stdlib (/root/dmd/bin/../src/phobos/std/c/stdlib.d)
import std.c.string (/root/dmd/bin/../src/phobos/std/c/string.d)
import std.string (/root/dmd/bin/../src/phobos/std/string.d)
import std.uni (/root/dmd/bin/../src/phobos/std/uni.d)
import std.array (/root/dmd/bin/../src/phobos/std/array.d)
import std.ctype (/root/dmd/bin/../src/phobos/std/ctype.d)
import std.gc (/root/dmd/bin/../src/phobos/std/gc.d)
import gcstats (/root/dmd/bin/../src/phobos/gcstats.d)
import std.c.linux.linux (/root/dmd/bin/../src/phobos/std/c/linux/linux.d)
import std.c.linux.linuxextern (/root/dmd/bin/../src/phobos/std/c/linux/linuxextern.d)
import std.c.linux.pthread (/root/dmd/bin/../src/phobos/std/c/linux/pthread.d)
import std.intrinsic (/root/dmd/bin/../src/phobos/std/intrinsic.d)
semantic2 t
semantic3 t
code t
function this
function _dtor
function doScan
function main
gcc t.o -o t -m32 -Xlinker -L/root/dmd/bin/../lib -lphobos -lpthread -lm
[tmp]root ./t
doScan {{{
<<<
doScan {{{
<<<
doScan {{{
<<<
doScan {{{
<<<
doScan {{{
<<<
doScan {{{
<<<
doScan {{{
<<<
doScan {{{
<<<
[tmp]root cat t.d
import std.stdio;
alias writefln ot;
scope class Indent
{
this()
{
ot("<<<");
}
~this()
{
ot(">>>");
}
}
void doScan(int a)
{
ot("doScan {{{");
scope(exit)
{}
scope(failure)
ot("doScan failure }}}");
scope(success)
ot("doScan ok }}}");
scope auto ident__doScan__ident = new Indent();
if (a == 0 )
return;
}
void main()
{
for (int i=0; i<8;i++)
doScan(0);
}
More information about the Digitalmars-d
mailing list