[cfe-dev] atomic builtins

Chris Lattner clattner at apple.com
Tue May 5 23:12:47 PDT 2009


On May 5, 2009, at 10:12 PM, Douglas Gregor wrote:

> On May 5, 2009, at 10:45 PM, Douglas Gregor wrote:
>> On May 5, 2009, at 12:42 PM, Chris Lattner wrote:
>> ow we'd model that with overloading. :(
>>
>>> If we could get this resolved into a different builtin id for every
>>> width, the code generator could do the right thing.
>>>
>>> 2. Add all the versions (with the name suffixes) to the builtins.td
>>> file and have sema change the AST (introducing casts and a new  
>>> callee)
>>> when it analyzes the call.
>>>
>>> 3. Add just the overloaded version of the builtin to the  
>>> builtins.def
>>> file, and make sema change it into a new AtomicExpr node.  This  
>>> would
>>> be better than #2 for representing the source level construct.
>>>
>>> Does anyone have an opinion on this?  I'm not exactly sure what is
>>> required to get #1 working.  If that can't work, I tend to think  
>>> that
>>> #3 is best.
>>
>> #2 seems like the best solution here.
>
> So, I really meant #3, because we can most easily deal with the  
> variations in the different atomic operations if it's a special AST  
> type like AtomicExpr.

After discussing this on irc, he really really does mean #2 :).  I'll  
work on this tomorrow.

-Chris



More information about the cfe-dev mailing list