This is the mail archive of the gcc-patches@gcc.gnu.org mailing list for the GCC project.
Index Nav: | [Date Index] [Subject Index] [Author Index] [Thread Index] | |
---|---|---|
Message Nav: | [Date Prev] [Date Next] | [Thread Prev] [Thread Next] |
Other format: | [Raw text] |
On Thu, Feb 13, 2014 at 1:13 PM, Jonathan Wakely <jwakely.gcc@gmail.com> wrote: > The LWG have decided that > http://cplusplus.github.io/LWG/lwg-active.html#2213 is a defect. > > In our std::regex_replace we do not appear to update out in all places > that we should. 1) Yes, the current implementation is buggy for not updating __out after calling std::copy; 2) I'd rather say the standard is misleading but well intended (return the new out iterator) rather than ill intended (return the original out iterator). It'll be a little troubler if match_results<>::format() do not return the new out iterator, which regex_replace<>() the caller needs. Boost and libc++ as well return the new iterator. So my suggestion is just following the LWG proposal, as well as Boost and libc++. Here's the patch tested with -m32 and -m64 respectively. Thanks! -- Regards, Tim Shen
Attachment:
a.diff
Description: Text document
Index Nav: | [Date Index] [Subject Index] [Author Index] [Thread Index] | |
---|---|---|
Message Nav: | [Date Prev] [Date Next] | [Thread Prev] [Thread Next] |