To help LDC/GDC
John Colvin
john.loughran.colvin at gmail.com
Mon Apr 8 06:01:36 PDT 2013
On Monday, 8 April 2013 at 12:39:58 UTC, Manu wrote:
> On 8 April 2013 21:53, Iain Buclaw <ibuclaw at ubuntu.com> wrote:
>
>> On 8 April 2013 12:41, deadalnix <deadalnix at gmail.com> wrote:
>>
>>> On Monday, 8 April 2013 at 09:41:52 UTC, Iain Buclaw wrote:
>>>
>>>> It uses some type information, eg:
>>>>
>>>> const/immutable/wild -> qualified const.
>>>> shared -> qualified volatile.
>>>> shared + const/wild -> qualified const/volatile.
>>>>
>>>>
>>> const/wild can be muted via aliasing. I'm not sure how GCC's
>>> backend
>>> understand const, but this seems unclear to me if this is
>>> correct.
>>>
>>>
>> GCC's backend is pretty much C/C++ semantics. So the const
>> qualifier is
>> shallow, and does not guarantee that no mutations will occur.
>>
>
> But D makes no further guarantee. I don't see how const in D is
> any
> different than const in C++ in that sense? That's basically the
> concept of
> const, it's not a useful concept for optimisation, only
> immutable is.
D const is transitive, surely that makes a difference/presents an
opportunity?
More information about the Digitalmars-d
mailing list