================
Comment at: include/clang/Basic/TokenKinds.def:366
@@ -365,2 +365,3 @@
 KEYWORD(__PRETTY_FUNCTION__         , KEYALL)
+KEYWORD(__builtin_call_with_static_chain, KEYALL)
 
----------------
rsmith wrote:
> pcc wrote:
> > rsmith wrote:
> > > Why is this modeled as a keyword rather than as a builtin function?
> > I thought it would be necessary to introduce a new AST node because of the 
> > custom type checking (I got this impression from some of the newer 
> > additions to `Expr.h` which do indeed model builtin functions as AST 
> > nodes), but I somehow overlooked that builtin functions can have custom 
> > type checking. I agree that this should have been modeled as a builtin 
> > function. If you like, I'll see if I can revise this patch to do so.
> Yes, please do make this a normal builtin function; that should remove a lot 
> of the boilerplate (template instantiation and serialization/deserialization 
> in particular).
Done.

================
Comment at: lib/CodeGen/CGCall.cpp:375-378
@@ +374,6 @@
+  // FIXME: Kill copy.
+  SmallVector<CanQualType, 16> argTypes;
+  for (const auto &Arg : args)
+    argTypes.push_back(CGT.getContext().getCanonicalParamType(Arg.Ty));
+  return CGT.arrangeLLVMFunctionInfo(GetReturnType(fnType->getReturnType()),
+                                     false, chainCall, argTypes,
----------------
rsmith wrote:
> Please pick either `argTypes` and `args`, or `ArgTypes` and `Args`.
Done.

http://reviews.llvm.org/D6332



_______________________________________________
cfe-commits mailing list
[email protected]
http://lists.cs.uiuc.edu/mailman/listinfo/cfe-commits

Reply via email to