This is the mail archive of the
libstdc++@gcc.gnu.org
mailing list for the libstdc++ project.
Re: [PATCH] PR libstdc++/85098 add missing definitions for static constants
- From: Ville Voutilainen <ville dot voutilainen at gmail dot com>
- To: Jonathan Wakely <jwakely at redhat dot com>
- Cc: "libstdc++" <libstdc++ at gcc dot gnu dot org>, gcc-patches List <gcc-patches at gcc dot gnu dot org>
- Date: Fri, 18 May 2018 19:24:39 +0300
- Subject: Re: [PATCH] PR libstdc++/85098 add missing definitions for static constants
- References: <20180518161356.GA32282@redhat.com>
On 18 May 2018 at 19:13, Jonathan Wakely <jwakely@redhat.com> wrote:
> In C++11 and C++14 any odr-use of these constants requires a definition
> at namespace-scope. In C++17 they are implicitly inline and so the
> namespace-scope redeclarations are redundant (and allowing them is
> deprecated).
>
> PR libstdc++/85098
> * include/bits/regex.h [__cplusplus < 201703L] (basic_regex::icase)
> (basic_regex::nosubs, basic_regex::optimize, basic_regex::collate)
> (basic_regex::ECMAScript, basic_regex::basic, basic_regex::extended)
> (basic_regex::awk, basic_regex::grep, basic_regex::egrep): Add
> definitions.
> * include/bits/regex_automaton.h (_NFA::_M_insert_state): Adjust
> whitespace.
> * include/bits/regex_compiler.tcc (__INSERT_REGEX_MATCHER): Add
> braces around body of do-while.
> * testsuite/28_regex/basic_regex/85098.cc: New
>
> I think we should backport this to the branches, although nobody seems
> to have ever noticed the bug until recently (and it's not a
> regression).
+1 for backporting this.