Date: Tue, 17 Aug 2021 15:19:13 +0200
> On 17 Aug 2021, at 15:10, Daniel Krügler <daniel.kruegler_at_[hidden]> wrote:
>
> Am Di., 17. Aug. 2021 um 15:02 Uhr schrieb Hans Åberg <haberg-1_at_[hidden]>:
>>
>>
>>> On 17 Aug 2021, at 11:23, Daniel Krügler <daniel.kruegler_at_[hidden]> wrote:
>>>
>>> Am Di., 17. Aug. 2021 um 10:48 Uhr schrieb Hans Åberg via
>>> Std-Discussion <std-discussion_at_[hidden]>:
>>>>
>>>> Which is the earliest C++ version of which vector::data should be considered a part? —It is not in the ISO+IEC+14882-1998 document, but there is a proposal from 2004 to add it.
>>>>
>>>> https://cplusplus.github.io/LWG/issue464
>>>
>>> It should be guaranteed to be specified in the C++11 standard, but the
>>> C++ committee has voted the above-mentioned issue into CD1 in 2008. So
>>> some vendors may have added this function even in C++03 mode (in case
>>> they have updated their library implementations), but you cannot rely
>>> on that.
>>
>> The issue is with GNU Bison that writes C++ parser files intended to compile with several C++ versions. Then GCC 4.2 from 2007-2008 has C++98, but does not have vector::data. Is that correct?
>
> Sure. As I said: There exists no normative standard that specifies
> vector::data() before C++11. If the compiler is still maintained, you
> could open an improvement issue, asking for adding this, but that is
> nothing you could rely on or use as a criterion for non-conformance.
Typically only the latest version is maintained, but later versions have an option -std=c++98, so it may be of significance there.
>
> Am Di., 17. Aug. 2021 um 15:02 Uhr schrieb Hans Åberg <haberg-1_at_[hidden]>:
>>
>>
>>> On 17 Aug 2021, at 11:23, Daniel Krügler <daniel.kruegler_at_[hidden]> wrote:
>>>
>>> Am Di., 17. Aug. 2021 um 10:48 Uhr schrieb Hans Åberg via
>>> Std-Discussion <std-discussion_at_[hidden]>:
>>>>
>>>> Which is the earliest C++ version of which vector::data should be considered a part? —It is not in the ISO+IEC+14882-1998 document, but there is a proposal from 2004 to add it.
>>>>
>>>> https://cplusplus.github.io/LWG/issue464
>>>
>>> It should be guaranteed to be specified in the C++11 standard, but the
>>> C++ committee has voted the above-mentioned issue into CD1 in 2008. So
>>> some vendors may have added this function even in C++03 mode (in case
>>> they have updated their library implementations), but you cannot rely
>>> on that.
>>
>> The issue is with GNU Bison that writes C++ parser files intended to compile with several C++ versions. Then GCC 4.2 from 2007-2008 has C++98, but does not have vector::data. Is that correct?
>
> Sure. As I said: There exists no normative standard that specifies
> vector::data() before C++11. If the compiler is still maintained, you
> could open an improvement issue, asking for adding this, but that is
> nothing you could rely on or use as a criterion for non-conformance.
Typically only the latest version is maintained, but later versions have an option -std=c++98, so it may be of significance there.
Received on 2021-08-17 08:19:26