David Blaikie
2013-Jan-09 04:30 UTC
[LLVMdev] Using C++'11 language features in LLVM itself
On Tue, Jan 8, 2013 at 8:23 PM, Joshua Cranmer <pidgeot18 at gmail.com> wrote:> On 1/8/2013 8:30 PM, Chris Lattner wrote: >> >> Wow, requiring GCC 4.7 would be really aggressive, it was just released in >> March 2012. Call me conservative, but I was thinking that a reasonable GCC >> baseline would be GCC 4.4 or something (which is ~3.5 years old). > > > On considering which versions get you various C++11 goodies, I'd personally > recommend gcc 4.5 as the baseline: that's when you can start using lambdas > and atomics (and a few other unicode goodies, but MSVC has yet to support > those anyways, so the point is fully moot). Anything older than gcc 4.4 > loses you most of the C++11 features. MSVC 2010 as the baseline precludes > you primarily from the following features: > * raw, user, unicode string literals > * enum class [that's 2012] > * alignment support > * extra constructor features > * explicit conversion operators > * range-based for > * intializer lists > * constexprvariadic templates
Óscar Fuentes
2013-Jan-09 11:01 UTC
[LLVMdev] Using C++'11 language features in LLVM itself
David Blaikie <dblaikie at gmail.com> writes: [snip]>> MSVC 2010 as the baseline precludes >> you primarily from the following features:[snip]> variadic templatesIrrelevant. The LLVM project discourages any non-trivial use of templates.
Chandler Carruth
2013-Jan-09 11:07 UTC
[LLVMdev] Using C++'11 language features in LLVM itself
On Wed, Jan 9, 2013 at 3:01 AM, Óscar Fuentes <ofv at wanadoo.es> wrote:> David Blaikie <dblaikie at gmail.com> writes: > > [snip] > > >> MSVC 2010 as the baseline precludes > >> you primarily from the following features: > > [snip] > > > variadic templates > > Irrelevant. The LLVM project discourages any non-trivial use of > templates.I'm not sure why you say this. We have a fake form of variadic templates because we wanted them so badly. We have many non-trivial templates where they make sense and provide value... I mean, we certainly avoid them when not appropriate or when ethere are other, simpler solutions... :: shrug :: On the other hand, there are trivial uses of variadic templates too, so I think we could still make the argument that they're handy to have. -------------- next part -------------- An HTML attachment was scrubbed... URL: <http://lists.llvm.org/pipermail/llvm-dev/attachments/20130109/7d1df0da/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