Skip to content

boost::regex match but not std::regex #39399

Open
@llvmbot

Description

@llvmbot
Bugzilla Link 40052
Version 6.0
OS FreeBSD
Attachments Testcase
Reporter LLVM Bugzilla Contributor
CC @mclow

Extended Description

I got the attached program. It has a global locale set (de_DE.UTF-8).

I think it might be a bug in libc++ because
on Windows(MSVC 2013 & MSVC 2017) and on Linux (gcc 8.2 + libstdc++) this regex (from std) matches with the global locale from boost. Also the regex from boost matches (replace std::regex by boost::regex).

This bug triggers only (also on my box and only on freebsd with clang and libc++) when i use boost::locale. With std::locale() it matches.

I already submitted this bug to FreeBSD and to boost.org.

For reference, here are the links
https://bugs.freebsd.org/bugzilla/show_bug.cgi?id=233994

Boost.locale says:
[quote]
Boost.Regex and Boost.Locale aren't related, the locale generated by Boost.Locale is "C" locale with addons unrelated to Boost.Regex
[/quote]
boostorg/locale#35

FreeBSD says, it is a bug in boost.locale.

As both of my direct upstream bugtrackers seem to "dislike" this bug, i report it to clang/libc++ directly.

Metadata

Metadata

Assignees

Labels

bugzillaIssues migrated from bugzillalibc++libc++ C++ Standard Library. Not GNU libstdc++. Not libc++abi.regexIssues related to regex

Type

No type

Projects

No projects

Milestone

No milestone

Relationships

None yet

Development

No branches or pull requests

Issue actions