bug
Jascha Wetzel
"[firstname]" at mainia.de
Fri Apr 20 07:53:10 PDT 2007
it already evaluates as expected if you cast to wchar
->= str
{
[0] = 0x0048,
[1] = 0x0065,
[2] = 0x006c,
[3] = 0x006c,
[4] = 0x006f
}
->= cast(wchar[])str
"Hello"
dckl wrote:
> Well maybe 1.014 will fix the problem :)
>
> Would it be possible to have it evaluate if cast to a wchar ?
>
>
> Jascha Wetzel wrote:
>> wrong - the wchar problem will not be fixed. DMD uses ambiguous CV types
>> here (wchar[] = ushort[]) - bugzilla #1104
>>
>> Jascha Wetzel wrote:
>>
>>> thanks!
>>> both fixed in the next release
>>>
>>> dickl wrote:
>>>
>>>> The following code will show the debugger break at places where break
>>>> points are not set.
>>>>
>>>> Also, the wchar[] str doesn't evaluate properly.
>>>>
>>>> -----------------------------------------
>>>>
>>>>
>>>> import std.stdio;
>>>> import std.utf;
>>>>
>>>> int main()
>>>> {
>>>>
>>>> // cast(wchar)str doesn't evaluate properly in ddbg 0.1.1
>>>> wchar [] str = toUTF16(cast(char [])"Hello");
>>>>
>>>> // set a break point here (line 10)
>>>> writefln(str);
>>>> //single step (over) until inside of the foreach loop
>>>> Test t = new Test;
>>>>
>>>>
>>>> foreach(wch;t)
>>>> {
>>>> wchar c = wch;
>>>> // dispite doing a step (over), ddbg will stop inside of the onApply
>>>> // doing a continue from this point , ddbg will break on the foreach
>>>> statement
>>>> writefln(c);
>>>> }
>>>>
>>>> return 0;
>>>> }//end int main()
>>>>
>>>>
>>>> class Test
>>>> {
>>>> wchar [] str;
>>>>
>>>> this()
>>>> {
>>>> str=toUTF16(cast(char [])"Hello Again");
>>>> }
>>>>
>>>>
>>>> int opApply(int delegate(inout wchar wch) dg)
>>>> {
>>>> int result=0;
>>>> for(uint i=0;i<str.length;i++)
>>>> {
>>>> result=dg(str[i]);
>>>> if(result)
>>>> break;
>>>> }
>>>> return result;
>>>> }
>>>> }//end class Test
>>>>
More information about the Digitalmars-d-debugger
mailing list