Re: [C++] System Requirements

Andrew Pinski
2013-12-17T02:29:23Z

On Sun, Dec 15, 2013 at 4:28 AM, Michael Veksler
<mveksler@tx.technion.ac.il> wrote:
> On 14/12/13 02:40, Ben Longbons wrote:
>>
>> <snip>
>>
>> NetBSD 6.1.1 (2013-08-22): gcc 4.8.1
>> NetBSD 5.1 (2010-11-19): gcc 3.3.6
>>
>> OpenBSD 5.4 (2013-11-01): gcc 4.2.1
>> OpenBSD 4.7 (2010-05-19): gcc 3.3.5
>>
>>
> I recommend to avoid gcc versions prior to gcc-3.4. Over a decade ago I had
> to port code from gcc-3.2 to gcc-3.4
> without losing support for gcc-3.2. Even though the code was much smaller
> than gdb it was a pain to support
> both versions in parallel:
> 1. gcc-3.2 has an old C++ parser and supports a dialect of C++ which
> predates ISO C++.

> 2. gcc-3.2 does not have namespace
> 3. Requires STL as a separate library
> 4. Containers of the STL libraries do not understand allocators, and can't
> be taught to due to limitations in old C++

These above 4 are incorrect as the new libstdc++ came in with 3.0 and
that is when namespace support came in.

> 5. Templates have significantly different semantics, and define a one-pass
> parsing (unlike 2 pass in ISO C++).

It is still one pass parsing, just the semantics is done at two different times.

I think we should support anything 3.0 and above. Since we won't be
using STL or templates that much.

Thanks,
Andrew Pinski

>
> Avoid gcc-3.2
>
> Michael