Bug?

Nicholas Wilson via Digitalmars-d digitalmars-d at puremagic.com
Thu Jun 1 01:48:04 PDT 2017


On Thursday, 1 June 2017 at 08:45:56 UTC, Wulfklaue wrote:
> Some C playing around:
>
>> import core.stdc.stdio;
>> 
>> void main()
>> {
>>     int x = 5;
>>     printf("The action is:\n%s", x);
>> }
>
> There does not seem to be a type check on calling the C 
> printf... %s expects a string but entering the wrong type like 
> a integer simply dumps down to this.
>

There is a check in LDC for that.

>> The action is:
>> object.Error@(0): Access Violation
>
> Playing around a bit more and even D can be made to crash:
>
>> import std.stdio : writefln;
>> void main()
>> {
>>     int x = 5;
>>     writefln("The action is:\n%i", x);
>> }
>
>> std.format.FormatException at C:\D\dmd2\windows\bin\..\..\src\phobos\std\format.d(1744):
>
> Interesting ways to crash the code. I do not think this is 
> expected behavior. :)
>
> And yes, i know that %i is not valid in this case but the fact 
> that phobos simply crashes with a exception, no proper error 
> warning ...
>
> If this error was somewhere in a large code base, it will be 
> hard and time consuming to track down as the dumps do not show 
> any trace / line error information.
>
> And side note: The first spot i look to report a bug, is on the 
> DMD git repository ( and so do a lot of other people these days 
> ). Do not even know where the bugs are reported here. Not very 
> convenient.

you want issues.dlang.org


More information about the Digitalmars-d mailing list