On Mon, 25 Oct 2021 at 13:09, Rainer Orth wrote:
>
> 28_regex/basic_regex/84110.cc currently FAILs on Solaris:
>
> FAIL: 28_regex/basic_regex/84110.cc (test for excess errors)
> UNRESOLVED: 28_regex/basic_regex/84110.cc compilation failed to produce 
> executable
>
> Excess errors:
> /vol/gcc/src/hg/master/local/libstdc++-v3/testsuite/28_regex/basic_regex/84110.cc:14:
>  error: reference to 'extended' is ambiguous
>
> The issue is seen in the full output:
>
> /vol/gcc/src/hg/master/local/libstdc++-v3/testsuite/28_regex/basic_regex/84110.cc:
>  In function ‘void test01()’:
> /vol/gcc/src/hg/master/local/libstdc++-v3/testsuite/28_regex/basic_regex/84110.cc:14:
>  error: reference to ‘extended’ is ambiguous
> In file included from 
> /var/gcc/regression/master/11.4-gcc-gas/build/gcc/include-fixed/math.h:391,
>                  from 
> /var/gcc/regression/master/11.4-gcc-gas/build/i386-pc-solaris2.11/libstdc++-v3/include/cmath:45,
>                  from 
> /vol/gcc/src/hg/master/local/libstdc++-v3/include/precompiled/stdc++.h:41:
> /usr/include/floatingpoint.h:73: note: candidates are: ‘typedef unsigned int 
> extended [3]’
>
> Fixed by qualifying extended.  Tested on i386-pc-solaris2.11,
> sparc-sun-solaris2.11, and x86_64-pc-linux-gnu.
>
> Ok for master?
>
> I'm not certain if this is the best fix, though.

Yeah, it's a bit odd to have only one of them qualified. I'll probably
forget why it's like that and remove it again to make it consistent
;-)

Please do:

using namespace std::regex_constants;
// See https://gcc.gnu.org/pipermail/gcc-patches/2021-October/582486.html
using std::regex_constants::extended;

(There's no difference between std::regex::extended and
std::regex_constants::extended, but we might as well consistently
qualify it one way or the other in a given scope).

OK for master like that - thanks!

Reply via email to