This is the mail archive of the libstdc++@gcc.gnu.org mailing list for the libstdc++ 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]

Re: [PATCH] PR libstdc++/85098 add missing definitions for static constants


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.


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]