[cfe-commits] [PATCH][MS] - operator __uuidof implementation part 1
Sebastian Redl
sebastian.redl at getdesigned.at
Fri Sep 3 10:16:27 PDT 2010
On Sep 3, 2010, at 8:56 AM, Douglas Gregor wrote:
>
> On Sep 1, 2010, at 8:49 PM, Francois Pichet wrote:
>
>> Hi,
>>
>> This patch is part 1 of X of my implementation of the Microsoft
>> __uuidof operator.
>> I want to go incrementally for this one because I don't want to submit
>> a huge patch.
>> The basic parsing is completed but some sema and all the code gen are missing.
>>
>> __uuidof is similar to the typeid operator so I used that operator as
>> template of what to do.
>
> + // FIXME: is __uuidof really value-dependent if the type or
> + // expression are dependent?
> +
> + // FIXME: is __uuidof really value-dependent if the type or
> + // expression are dependent?
> + Operand->isTypeDependent() || Operand->isValueDependent()),
> + Operand(Operand), Range(R) { }
>
> Yes, it makes sense that __uuidof is never type-dependent and is only value-dependent if the argument is type- or value-dependent.
>
> Is there anything dynamci about __uuidof? In other words, is the result of __uuidof always a constant, or can it involve run-time computation? If it does not involve run-time computation, then you can use the Unevaluated context rather than the PotentiallyPotentiallyEvaluated context.
If __uuidof is not dynamic (and I don't think it is), then it is value-dependent if the operand is type-dependent, but it doesn't care about whether the operand is value-dependent.
Sebastian
More information about the cfe-commits
mailing list