[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
Re: [PATCH 5/9] build: reject C++ compilers that don't support std::vect
From: |
Hans Åberg |
Subject: |
Re: [PATCH 5/9] build: reject C++ compilers that don't support std::vector::data |
Date: |
Fri, 13 Aug 2021 09:52:18 +0200 |
> On 13 Aug 2021, at 08:11, Akim Demaille <akim.demaille@gmail.com> wrote:
>
>> Le 12 août 2021 à 10:40, Hans Åberg <haberg-1@telia.com> a écrit :
>>
>>> On 12 Aug 2021, at 10:18, Akim Demaille <akim.demaille@gmail.com> wrote:
>>>
>>> GCC 4.2 on macOS claims to support C++98, but does not feature it.
>>>
>>> input.cc: In member function 'void state_stack::yycompressStack()':
>>> input.cc:1774: error: 'class std::vector<glr_stack_item,
>>> std::allocator<glr_stack_item> >' has no member named 'data'
>>
>> The member 'data' was introduced in C++11.
>>
>> https://en.cppreference.com/w/cpp/container/vector/data
>
> That page is exactly the one I looked at first to see that it's C++98, not
> C++11. Read the bottom of
> <https://en.cppreference.com/w/cpp/container/vector>.
It is not in the C++98 ISO+IEC+14882-1998 standard (the PDF). In the C++11
n3242 draft, in sec. 23.3.6.1 Class template vector overview, class vector has
between sections "element access" and "modifiers" a section "data access" with
T* data() noexcept; const
T* data() const noexcept
and it is also in a C++ draft standard I made from sources in 2015.
So GCC is right on this one, and 4.2 is from 2007-2008, before C++11. You might
try a later version with the -std=c++98 option to see what it does.
- [PATCH 0/9] Various fixes for the tests, Akim Demaille, 2021/08/12
- [PATCH 1/9] c: fix _Noreturn support detection, Akim Demaille, 2021/08/12
- [PATCH 2/9] tests: be robust to old versions of xlstproc, Akim Demaille, 2021/08/12
- [PATCH 3/9] tests: remove obsolete checks, Akim Demaille, 2021/08/12
- [PATCH 4/9] build: check for C++ 20 and 2b, Akim Demaille, 2021/08/12
- [PATCH 5/9] build: reject C++ compilers that don't support std::vector::data, Akim Demaille, 2021/08/12
- Re: [PATCH 5/9] build: reject C++ compilers that don't support std::vector::data, Hans Åberg, 2021/08/12
- Re: [PATCH 5/9] build: reject C++ compilers that don't support std::vector::data, Akim Demaille, 2021/08/13
- Re: [PATCH 5/9] build: reject C++ compilers that don't support std::vector::data,
Hans Åberg <=
- Re: [PATCH 5/9] build: reject C++ compilers that don't support std::vector::data, Akim Demaille, 2021/08/17
- Re: [PATCH 5/9] build: reject C++ compilers that don't support std::vector::data, Hans Åberg, 2021/08/17
- Re: [PATCH 5/9] build: reject C++ compilers that don't support std::vector::data, Hans Åberg, 2021/08/17
- Re: [PATCH 5/9] build: reject C++ compilers that don't support std::vector::data, Akim Demaille, 2021/08/19
- Re: [PATCH 5/9] build: reject C++ compilers that don't support std::vector::data, Hans Åberg, 2021/08/19
[PATCH 6/9] build: modernize to newer Autoconf releases, Akim Demaille, 2021/08/12
[PATCH 7/9] news: be clear that glr2.cc is C++11, Akim Demaille, 2021/08/12
[PATCH 8/9] gnulib: update, Akim Demaille, 2021/08/12
[PATCH 9/9] tests: fix incorrect test case, Akim Demaille, 2021/08/12