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.

        Rainer

-- 
-----------------------------------------------------------------------------
Rainer Orth, Center for Biotechnology, Bielefeld University


2021-10-20  Rainer Orth  <r...@cebitec.uni-bielefeld.de>

        libstdc++-v3:
        * testsuite/28_regex/basic_regex/84110.cc (test01)
        [__cpp_exceptions]: Disambiguate extended.

# HG changeset patch
# Parent  1a71c5553268184d62ac25cc8838e7ad096199b3
libstdc++: Fix 28_regex/basic_regex/84110.cc on Solaris

diff --git a/libstdc++-v3/testsuite/28_regex/basic_regex/84110.cc b/libstdc++-v3/testsuite/28_regex/basic_regex/84110.cc
--- a/libstdc++-v3/testsuite/28_regex/basic_regex/84110.cc
+++ b/libstdc++-v3/testsuite/28_regex/basic_regex/84110.cc
@@ -11,7 +11,7 @@ void test01()
 
 #if __cpp_exceptions
   using namespace std::regex_constants;
-  for (auto syn : {basic, extended, awk, grep, egrep})
+  for (auto syn : {basic, std::regex::extended, awk, grep, egrep})
   {
     try
     {

Reply via email to