[Issue 2823] New: -w switch breaks CTFE

d-bugmail at puremagic.com d-bugmail at puremagic.com
Thu Apr 9 05:34:51 PDT 2009


http://d.puremagic.com/issues/show_bug.cgi?id=2823

           Summary: -w switch breaks CTFE
           Product: D
           Version: 2.027
          Platform: PC
        OS/Version: Windows
            Status: NEW
          Keywords: rejects-valid
          Severity: normal
          Priority: P2
         Component: DMD
        AssignedTo: bugzilla at digitalmars.com
        ReportedBy: maxmo at pochta.ru


---
module Test;
import std.stdio;

int main()
{
  writeln("should not be -1: ",a(-1));
  return 0;
}

short a(short b) pure nothrow
  { return b>>>1; }

static assert(a(-1)==-1);
---

>\dev\dmd\bin\dmd tmp.d -I.. -oftmp.exe -w
warning - tmp.d(32): Error: implicit conversion of expression (cast(int)b >>>
1) of type int to short can cause loss of data
tmp.d(43): Error: cannot evaluate a(cast(short)-1) at compile time
tmp.d(43): Error: static assert  (cast(int)a(cast(short)-1) == -1) is not
evaluatable at compile time

>tmp
'tmp' is not recognized as an internal or external command,
operable program or batch file.

>\dev\dmd\bin\dmd tmp.d -I.. -oftmp.exe

c:\dev\d\win>tmp
should not be -1: -1


-- 



More information about the Digitalmars-d-bugs mailing list