Value Range Propigation Spec
Andrei Alexandrescu via Digitalmars-d
digitalmars-d at puremagic.com
Mon Oct 27 17:43:20 PDT 2014
On 10/22/14 1:32 PM, Walter Bright wrote:
> 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.
I think specification is equally tricky because it needs to specify the
exact algorithms. -- Andrei
More information about the Digitalmars-d
mailing list