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!