On Sun, Jan 13, 2013 at 2:10 PM, Matthieu Monrocq <matthieu.monrocq at gmail.com> wrote:> gcc 4.5, MSVC 10, clang 3.1 > - decltype v1.0 [1] + late specified return type > - lambda v1.0 [2] > - local types as template arguments > - r-value 2.0 [3] > - static_assert > - built-in type traitsThis isn't very encouraging. Anecdotally from what I've seen in LLD (whose C++11 feature use is bounded only by MSVC 2012), the features that get the most mileage by a large margin are `auto`, range-for, and `nullptr`, along with library offerings like unique_ptr<>. Just based on that, the churn and overhead of imposing new build requirements doesn't seem worth it at the moment. -- Sean Silva
Isaac Dupree
2013-Jan-14 01:43 UTC
[LLVMdev] Using C++'11 language features in LLVM itself
On 01/13/2013 03:59 PM, Sean Silva wrote:> On Sun, Jan 13, 2013 at 2:10 PM, Matthieu Monrocq > <matthieu.monrocq at gmail.com> wrote: >> gcc 4.5, MSVC 10, clang 3.1 >> - decltype v1.0 [1] + late specified return type >> - lambda v1.0 [2] >> - local types as template arguments >> - r-value 2.0 [3] >> - static_assert >> - built-in type traits > > This isn't very encouraging. Anecdotally from what I've seen in LLD > (whose C++11 feature use is bounded only by MSVC 2012), the features > that get the most mileage by a large margin are `auto`, range-for, and > `nullptr`, along with library offerings like unique_ptr<>. Just based > on that, the churn and overhead of imposing new build requirements > doesn't seem worth it at the moment.'auto' is in gcc 4.4, MSVC 10, and clang 2.9, I believe.
Matthieu Monrocq
2013-Jan-14 18:31 UTC
[LLVMdev] Using C++'11 language features in LLVM itself
On Sun, Jan 13, 2013 at 9:59 PM, Sean Silva <silvas at purdue.edu> wrote:> On Sun, Jan 13, 2013 at 2:10 PM, Matthieu Monrocq > <matthieu.monrocq at gmail.com> wrote: > > gcc 4.5, MSVC 10, clang 3.1 > > - decltype v1.0 [1] + late specified return type > > - lambda v1.0 [2] > > - local types as template arguments > > - r-value 2.0 [3] > > - static_assert > > - built-in type traits > > This isn't very encouraging. Anecdotally from what I've seen in LLD > (whose C++11 feature use is bounded only by MSVC 2012), the features > that get the most mileage by a large margin are `auto`, range-for, and > `nullptr`, along with library offerings like unique_ptr<>. Just based > on that, the churn and overhead of imposing new build requirements > doesn't seem worth it at the moment. > > -- Sean Silva >Actually, MSVC 10 supports auto as proposed in n1984, which did not yet removed "auto" as a storage specifier. This is not too surprising since auto and decltype go hand in hand functionality wise and I am sorry I missed it. Therefore, given the list above, the gcc 4.5, MSVC 10 combination provides both "auto/decltype" and sufficient r-value support for unique_ptr<> (which is part of the built-in type traits part I believe). range-for and nullptr are unfortunately not supported with those. -- Matthieu -------------- next part -------------- An HTML attachment was scrubbed... URL: <http://lists.llvm.org/pipermail/llvm-dev/attachments/20130114/54deb722/attachment.html>
Justin Holewinski
2013-Jan-14 18:40 UTC
[LLVMdev] Using C++'11 language features in LLVM itself
On Mon, Jan 14, 2013 at 1:31 PM, Matthieu Monrocq < matthieu.monrocq at gmail.com> wrote:> > > On Sun, Jan 13, 2013 at 9:59 PM, Sean Silva <silvas at purdue.edu> wrote: > >> On Sun, Jan 13, 2013 at 2:10 PM, Matthieu Monrocq >> <matthieu.monrocq at gmail.com> wrote: >> > gcc 4.5, MSVC 10, clang 3.1 >> > - decltype v1.0 [1] + late specified return type >> > - lambda v1.0 [2] >> > - local types as template arguments >> > - r-value 2.0 [3] >> > - static_assert >> > - built-in type traits >> >> This isn't very encouraging. Anecdotally from what I've seen in LLD >> (whose C++11 feature use is bounded only by MSVC 2012), the features >> that get the most mileage by a large margin are `auto`, range-for, and >> `nullptr`, along with library offerings like unique_ptr<>. Just based >> on that, the churn and overhead of imposing new build requirements >> doesn't seem worth it at the moment. >> >> -- Sean Silva >> > > Actually, MSVC 10 supports auto as proposed in n1984, which did not yet > removed "auto" as a storage specifier. This is not too surprising since > auto and decltype go hand in hand functionality wise and I am sorry I > missed it. > > Therefore, given the list above, the gcc 4.5, MSVC 10 combination provides > both "auto/decltype" and sufficient r-value support for unique_ptr<> (which > is part of the built-in type traits part I believe). range-for and nullptr > are unfortunately not supported with those.IMO, "auto" alone is enough to make many of LLVM's for loops much more readable.> > > -- Matthieu > > _______________________________________________ > LLVM Developers mailing list > LLVMdev at cs.uiuc.edu http://llvm.cs.uiuc.edu > http://lists.cs.uiuc.edu/mailman/listinfo/llvmdev > >-- Thanks, Justin Holewinski -------------- next part -------------- An HTML attachment was scrubbed... URL: <http://lists.llvm.org/pipermail/llvm-dev/attachments/20130114/4a19d962/attachment.html>
Apparently Analagous Threads
- [LLVMdev] Using C++'11 language features in LLVM itself
- [LLVMdev] Using C++'11 language features in LLVM itself
- [LLVMdev] Using C++'11 language features in LLVM itself
- [LLVMdev] Using C++'11 language features in LLVM itself
- [LLVMdev] Using C++'11 language features in LLVM itself