Opened 5 years ago
Last modified 5 years ago
#13081 new Bugs
Xpressive crashes in release if auto keyword used.
| Reported by: | Owned by: | Eric Niebler | |
|---|---|---|---|
| Milestone: | To Be Determined | Component: | xpressive |
| Version: | Boost 1.62.0 | Severity: | Problem |
| Keywords: | Cc: |
Description
This code.
#include "boost/xpressive/xpressive.hpp"
int main() {
using namespace boost::xpressive;
auto scheme = (s1 = +_w) >> ":"; auto host_ipv6 = (s2 = ('[' >> +(xdigit | ':') >> ']')); cregex uri_re = scheme >> host_ipv6;
cmatch m; if( regex_match( "http://[fe::]", m, uri_re ) ) {
[first, last) pair of iterators, with implicit operator string() std::string protocol = m[1]; protocol = protocol;
}
return 0;
}
Crashes with access violation to random address. Visual Studio 2015 RELEASE builds only (for both 32/64 bit builds).
Note:
See TracTickets
for help on using tickets.

This code. #include "boost/xpressive/xpressive.hpp" int main() { using namespace boost::xpressive; auto scheme = (s1 = +_w) >> "://"; auto host_ipv6 = (s2 = ('[' >> +(xdigit | ':') >> ']')); cregex uri_re = scheme >> host_ipv6; cmatch m; if( regex_match( "http://[fe::]", m, uri_re ) ) { std::string protocol = m[1]; protocol = protocol; } return 0; }Crashes with access violation to random address. Visual Studio 2015 RELEASE builds only (for both 32/64 bit builds).