GNU attributes in lambda expressions?

Hello All,

First of all, thank you all very much for implementing lambda expressions in Clang 3.1! This is a much anticipated feature and I greatly appreciate the work to implement this.

I have a small suggestion for lambdas expressions: How about supporting GNU attributes (attribute) in the attribute list of a lambda expression? I’m no clang ninja so I can’t say if what I did is stable/solid, but I was able to add the support I needed for this pretty easily using the handy ParseGNUAttributes function. The lambda parser already parses some attributes, so maybe this is simply an accidental omission?

Thanks for your consideration!


It's not impossible... but why?


I assume primarily for GCC compatibility. GCC accepts this, for instance:

auto x = [] () attribute((noreturn)) {};

Cool. I was wondering which attributes were wanted, that one seems to make sense. I guess nothrow etc as well.