This is the mail archive of the
gdb@sourceware.org
mailing list for the GDB project.
Re: [C++] System Requirements
- From: Andrew Pinski <pinskia at gmail dot com>
- To: Michael Veksler <mveksler at tx dot technion dot ac dot il>
- Cc: Ben Longbons <brlongbons at gmail dot com>, GDB Development <gdb at sourceware dot org>
- Date: Mon, 16 Dec 2013 18:29:17 -0800
- Subject: Re: [C++] System Requirements
- Authentication-results: sourceware.org; auth=none
- References: <CA+XNFZO6-rhG_mnRtg_B_y6R3FaFRWzb_ED4G=Yf1gdNs4d+gw at mail dot gmail dot com> <CA+XNFZO14xGBFNF5oy1y4Ec+r8+5DGzM1ZkgNaY2qqbUC1aGkQ at mail dot gmail dot com> <52ADA077 dot 7020406 at tx dot technion dot ac dot il>
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