Re: [GSoC] "C++0x Lambda functions implementation"

classic Classic list List threaded Threaded
3 messages Options
Reply | Threaded
Open this post in threaded view
|

Re: [GSoC] "C++0x Lambda functions implementation"

Richard Smith
On Tue, 29 Mar 2011 20:54, Nicola Gigante wrote:

> Title: C++0x Lambda functions implementation
>
> 1. Proposal:
> The C++ committee recently approved the new C++ 2011 international
> standard, adding a lot of new features to the language. The clang compiler
> supports a part of them, including the most relevant ones such as variadic
> templates and r-value references. However, a lot of other new features
> still need to be implemented. This proposal is about implementing the new
> lambda functions. Although it's not the most important feature of the new
> standard, it's already implemented in other compilers such as gcc and
> VC++, and I think clang should stay up-to-date.
>
> This project will implement lambda functions in Clang, including other
> needed C++0x features. In particular, this will imply the implementation
> of at least the new "lately-specified return type" syntax. The project
> will cover all the aspect of the implementation, from the parser to code
> generation, including full compliance with the international standard
> document and a full set of unit tests.

Fantastic. I've been working through some of the other new C++11 features
(auto, for-range and alias-declaration so far) and would love to see more
people working on this stuff.

As far as I'm aware, the late-specified return types feature is complete,
other than updating the external website. I fixed all the issues I could
find with it and added a bunch of tests as part of the 'auto' work. We're
already advertising support for it via __has_feature(cxx_trailing_return).
(One minor thing: we don't appear to have any tests checking that we
create the correct mangled names).

[...]

Richard


_______________________________________________
cfe-dev mailing list
[hidden email]
http://lists.cs.uiuc.edu/mailman/listinfo/cfe-dev
Reply | Threaded
Open this post in threaded view
|

Re: [GSoC] "C++0x Lambda functions implementation"

Nicola Gigante
It seems this reply arrived only to me:

On 31 Mar, 2011,at 09:51 PM, Richard Smith <[hidden email]> wrote:


Fantastic. I've been working through some of the other new C++11 features
(auto, for-range and alias-declaration so far) and would love to see more
people working on this stuff.


As far as I'm aware, the late-specified return types feature is complete,
other than updating the external website. I fixed all the issues I could
find with it and added a bunch of tests as part of the 'auto' work. We're
already advertising support for it via __has_feature(cxx_trailing_return).
(One minor thing: we don't appear to have any tests checking that we
create the correct mangled names). 
 
I see! I didn't know that.
Anyway, I think another feature that would be needed is
'local classes in template parameters', I should include it in the proposal.

Anyway, someone had news about the rumored patch from 'alp'?
I'm going to push this proposal to melange since the GSoC students application
deadline is near.
Anybody would like to mentor this idea?

Bye,
Nicola

_______________________________________________
cfe-dev mailing list
[hidden email]
http://lists.cs.uiuc.edu/mailman/listinfo/cfe-dev
Reply | Threaded
Open this post in threaded view
|

Re: [GSoC] "C++0x Lambda functions implementation"

Douglas Gregor
In reply to this post by Richard Smith

On Mar 31, 2011, at 12:51 PM, Richard Smith wrote:

> On Tue, 29 Mar 2011 20:54, Nicola Gigante wrote:
>> Title: C++0x Lambda functions implementation
>>
>> 1. Proposal:
>> The C++ committee recently approved the new C++ 2011 international
>> standard, adding a lot of new features to the language. The clang compiler
>> supports a part of them, including the most relevant ones such as variadic
>> templates and r-value references. However, a lot of other new features
>> still need to be implemented. This proposal is about implementing the new
>> lambda functions. Although it's not the most important feature of the new
>> standard, it's already implemented in other compilers such as gcc and
>> VC++, and I think clang should stay up-to-date.
>>
>> This project will implement lambda functions in Clang, including other
>> needed C++0x features. In particular, this will imply the implementation
>> of at least the new "lately-specified return type" syntax. The project
>> will cover all the aspect of the implementation, from the parser to code
>> generation, including full compliance with the international standard
>> document and a full set of unit tests.
>
> Fantastic. I've been working through some of the other new C++11 features
> (auto, for-range and alias-declaration so far) and would love to see more
> people working on this stuff.
>
> As far as I'm aware, the late-specified return types feature is complete,
> other than updating the external website. I fixed all the issues I could
> find with it and added a bunch of tests as part of the 'auto' work. We're
> already advertising support for it via __has_feature(cxx_trailing_return).
> (One minor thing: we don't appear to have any tests checking that we
> create the correct mangled names).

We have bugs in the area of name mangling for late-specified return types. In particular, we don't implement name-mangling rules for references to function parameters in the late-specified return type.

        - Doug
_______________________________________________
cfe-dev mailing list
[hidden email]
http://lists.cs.uiuc.edu/mailman/listinfo/cfe-dev