Re: [squid-dev] [PATCH] remove old GnuRegex third-party code
On 07/28/2015 06:51 AM, Amos Jeffries wrote: > The attached patch replaces all Squid code uses of regex.h C API with > std::regex C++ API and drops the libregex related detections from > ./configure > * In the present day all systems using C++11 provide a std::regex API > from the STL. This means all systems Squid-4 supports will provide it. Not quite: AFAIK, GCC versions 4.8 and below do not support std::regex. They do provide the API, but without the implementation to back it up: https://gcc.gnu.org/bugzilla/show_bug.cgi?id=53631 http://stackoverflow.com/questions/12530406/is-gcc-4-7-and-gcc-4-8-buggy-about-regular-expressions http://stackoverflow.com/questions/20027305/strange-results-when-using-c11-regexp-with-gcc-4-8-2-but-works-with-boost-reg We are not going to require GCC v4.9 for Squid v4.0, are we? Alex. ___ squid-dev mailing list squid-dev@lists.squid-cache.org http://lists.squid-cache.org/listinfo/squid-dev
Re: [squid-dev] [PATCH] remove old GnuRegex third-party code
On 29/07/2015 3:39 a.m., Alex Rousskov wrote: > On 07/28/2015 06:51 AM, Amos Jeffries wrote: > >> The attached patch replaces all Squid code uses of regex.h C API with >> std::regex C++ API and drops the libregex related detections from >> ./configure > > >> * In the present day all systems using C++11 provide a std::regex API >> from the STL. This means all systems Squid-4 supports will provide it. > > > Not quite: AFAIK, GCC versions 4.8 and below do not support std::regex. > They do provide the API, but without the implementation to back it up: > > https://gcc.gnu.org/bugzilla/show_bug.cgi?id=53631 > http://stackoverflow.com/questions/12530406/is-gcc-4-7-and-gcc-4-8-buggy-about-regular-expressions > http://stackoverflow.com/questions/20027305/strange-results-when-using-c11-regexp-with-gcc-4-8-2-but-works-with-boost-reg > > > We are not going to require GCC v4.9 for Squid v4.0, are we? No unless we really have to. 4.7+ was indeed the plan. I will try and see if the std::tr1::regex I heard about actually works. Amos ___ squid-dev mailing list squid-dev@lists.squid-cache.org http://lists.squid-cache.org/listinfo/squid-dev
Re: [squid-dev] [PATCH] remove old GnuRegex third-party code
Small change of plans. I have separated the SourceLayout related code shuffling and polish from the std::regex and GnuRegex swap. The SourceLayout parts have now been applied as trunk rev.14189. The remainder will have to wait until the GCC situation Alex pointed out is resolved. Amos ___ squid-dev mailing list squid-dev@lists.squid-cache.org http://lists.squid-cache.org/listinfo/squid-dev
Re: [squid-dev] [PATCH] remove old GnuRegex third-party code
On 29/07/2015 7:35 p.m., Amos Jeffries wrote: > Small change of plans. I have separated the SourceLayout related code > shuffling and polish from the std::regex and GnuRegex swap. > > The SourceLayout parts have now been applied as trunk rev.14189. > > The remainder will have to wait until the GCC situation Alex pointed out > is resolved. > Actually looking at the wiki. This was already covered: "This series of Squid requires a C++11 capable compiler. The currently known compilers which meet this criteria and build Squid reliably are GCC 4.9+, Clang 3.5+, and Intel CC 12.0+ " That said, I'm not keen on adding a guaranteed fail for GCC 4.7/4.8. I've looked into std::tr1::regex and that is just as broken. Amos ___ squid-dev mailing list squid-dev@lists.squid-cache.org http://lists.squid-cache.org/listinfo/squid-dev