Value Range Propigation Spec

Walter Bright via Digitalmars-d digitalmars-d at puremagic.com
Wed Oct 22 13:32:35 PDT 2014


On 10/22/2014 2:31 AM, Shammah Chancellor wrote:
> A couple of us working on SDC are trying to get ValueRange propigation
> implemented.   I was wonder if someone could offer some insight as to how VRP
> works in DMD.   If for example, trying to get the value range of a global, what
> is the expected behavior?
>
> It seems as though VRP is a language feature, and not a compiler feature --
> since this allows some code to compile and not others.   Is there a
> specification for how it should work somewhere?  If not, it's hard to implement
> other compilers that will not generate errors in the same circumstances as DMD.
>

VRP is definitely a language feature, not a compiler feature. The specification 
is straightforward - a narrowing conversion can be implicitly performed if it 
can be proved that it would not lose information.

How it works, though, is kinda tricky, and the only guide to it is the compiler 
source code.


More information about the Digitalmars-d mailing list