[PATCH] for feedback - avoid use of the "__invoke" magic string in Lambdas

Faisal Vali faisalv at gmail.com
Sat May 4 08:46:40 PDT 2013


I just wanted to float this patch out for some feedback - It's not ready
for commit.
There is no functionality change - so no tests included.

This patch addresses the following:
  1) It replaces the use of the "__invoke" magic name for the static
invoker, with a property within
    the lambda class  - I thought this would be a less brittle approach and
potentially more efficient
-   though it takes up more space in the LambdaDefinitionData - how big a
deal is that?
      - also with my current change can i just drop the name for this
function or do i need the
        "super-secret" name?


  2) Also I intend to put some utility functions in Lambda.h (I have
included some samples - these functions currently might overlap in
functionality - in my initial generic lambda implementation they were
scattered amongst various files, and i thought it might be better to
centralize them a little) - here are my questions:
     - do you prefer to place utility functions within CXXMethodDecl or
Sema (ugh - the recompiles
        suck with changes!) if they make sense there?
        That is do you prefer IsLambdaCallOperator(MD) or
MD->IsLambdaCallOperator() ?

Thanks!
Faisal Vali
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.llvm.org/pipermail/cfe-commits/attachments/20130504/9420e65a/attachment.html>
-------------- next part --------------
A non-text attachment was scrubbed...
Name: avoid-use-of-__invoke+lambda-utility-funcs.patch
Type: application/octet-stream
Size: 17662 bytes
Desc: not available
URL: <http://lists.llvm.org/pipermail/cfe-commits/attachments/20130504/9420e65a/attachment.obj>


More information about the cfe-commits mailing list