On 07/07/2012 08:38 PM, Xinliang David Li wrote:
It seems to me that what you have here are target-specific attributes that
affect the signature of a function such that they make two declarations
different that would otherwise declare the same function. Stepping away from
the specific notion of versioning, it seems that these are the questions
that you want the front end to be able to ask about these attributes:
* Does this attribute affect a function signature?
The question becomes if a caller 'bar' with target attribute 'x' can
make a call to a function 'foo' with an incompatible target attribute
'y'. If the answer is no, then the target attribute is part of 'foo's
signature. I think the answer is yes -- the attribute affects a
function signature.
Yes, clearly the answer is yes for the target attribute. But I wasn't
asking someone to answer those questions; I was saying that those are
the questions the front end needs to be able to ask of the back end in
order to implement this functionality in a more generic way.
Jason