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

Attachment: avoid-use-of-__invoke+lambda-utility-funcs.patch
Description: Binary data

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

Reply via email to