This is the mail archive of the
gcc-bugs@gcc.gnu.org
mailing list for the GCC project.
[Bug libstdc++/64585] New: The basic_regex object should not match any character sequence after a call to basic_regex::imbue
- From: "kariya_mitsuru at hotmail dot com" <gcc-bugzilla at gcc dot gnu dot org>
- To: gcc-bugs at gcc dot gnu dot org
- Date: Tue, 13 Jan 2015 17:22:34 +0000
- Subject: [Bug libstdc++/64585] New: The basic_regex object should not match any character sequence after a call to basic_regex::imbue
- Auto-submitted: auto-generated
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=64585
Bug ID: 64585
Summary: The basic_regex object should not match any character
sequence after a call to basic_regex::imbue
Product: gcc
Version: 5.0
Status: UNCONFIRMED
Severity: normal
Priority: P3
Component: libstdc++
Assignee: unassigned at gcc dot gnu.org
Reporter: kariya_mitsuru at hotmail dot com
Created attachment 34437
--> https://gcc.gnu.org/bugzilla/attachment.cgi?id=34437&action=edit
g++ -v
Please see the following sample.
=============================== sample code ===============================
#include <iostream>
#include <regex>
int main()
{
static const char s[] = "";
std::regex re("");
std::cout << std::boolalpha << std::regex_search(s, re) << std::endl;
auto loc = re.imbue(re.getloc());
std::cout << std::boolalpha << std::regex_search(s, re) << std::endl;
}
===========================================================================
================================= output ==================================
true
true
===========================================================================
cf. http://melpon.org/wandbox/permlink/0wKMiCY8uNEhOecE
The C++11 standard 28.8.5[re.regex.locale]/p.1 says, "After a call to imbue the
basic_regex object does not match any character sequence."
So I think that the output should be
================================= output ==================================
true
false
===========================================================================