[cfe-dev] Fwd: "generic" address space

Eli Friedman eli.friedman at gmail.com
Tue Jul 15 16:16:33 PDT 2008

On Tue, Jul 15, 2008 at 8:50 AM, Mon P Wang <wangmp at apple.com> wrote:
> Hi,
> I took a look at what __buildin_shufflevector does.  In that case, it
> enforces more rules than the type system allow after checking the call.  In
> that vein, what I could do instead of using this weird type is
> in ActOnCallExpr,when checking the arguments of an intrinsic call, instead
> of calling
>    CheckSingleAssignmentConstraints
> I could call my own version, e.g., CheckBuiltinAssignmentConstraints that
> will allow mismatches between address spaces to go through.  How does that
> sound?

What we do for __builtin_shufflevector does is claim the argument list
is completely variable, then check the actual arguments from
CheckFunctionCall.  What I was thinking is that we could do the same
thing for the builtins which can take alternate address spaces, i.e.
__sync_*.  (Are there any other builtins for which you're planning
address space overloading?)

That said, your approach could also work, although it doesn't seem as
clean to me.


More information about the cfe-dev mailing list