Re: [PATCH 5/9] build: reject C++ compilers that don't support std::vector::data
Hans Ã…berg <[email protected]> Thu, 19 Aug 2021 10:23:53 +0200
| Newsgroups | gmane.comp.parsers.bison.patches |
|---|---|
| Message-ID | <[email protected]> |
> On 19 Aug 2021, at 08:10, Akim Demaille <[email protected]> = wrote: >=20 >> Le 17 ao=C3=BBt 2021 =C3=A0 15:46, Hans =C3=85berg = <[email protected]> a =C3=A9crit : >>=20 >>> On 17 Aug 2021, at 08:49, Akim Demaille <[email protected]> = wrote: >>>=20 >>> You need to read my answer, and the page it pointed you to. >>=20 >> I checked it out on the C++ Std-Discussion list, and there is = normative standard specifying std::vector::data before C++11. The = absence in GCC 4.2 may have to do with the MacOS version, as an earlier = GCC version has it. >=20 > Yes, as shown in the logs it used GCC 4.0's headers. >=20 > That being said, glr2.cc actually requires C++11, so I have reverted = these changes, since none of the other C++ skeletons need vector::data, = and this check was not enough for glr2.cc. One situation where it might have of importance would have been = LilyPond, which did not compile with clang due to it differing from gcc = on some template interpretation, and further, they cross compiled the = MacOS binaries using a ported SDK which only had gcc 4.2. However, = LilyPond now compiles with clang, and the SDK license has changed so = that it is no longer legal to cross compile on other platforms.