[gcc r11-10119] libstdc++: Fix 28_regex/basic_regex/84110.cc on Solaris

Jonathan Wakely redi@gcc.gnu.org
Thu Jul 7 23:32:19 GMT 2022


https://gcc.gnu.org/g:490685354ebf57c509383145d87c4fe3432f6055

commit r11-10119-g490685354ebf57c509383145d87c4fe3432f6055
Author: Rainer Orth <ro@CeBiTec.Uni-Bielefeld.DE>
Date:   Tue Oct 26 14:07:57 2021 +0200

    libstdc++: Fix 28_regex/basic_regex/84110.cc on Solaris
    
    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 disambiguating extended.  Tested on i386-pc-solaris2.11,
    sparc-sun-solaris2.11, and x86_64-pc-linux-gnu.
    
    2021-10-20  Rainer Orth  <ro@CeBiTec.Uni-Bielefeld.DE>
    
            libstdc++-v3:
            * testsuite/28_regex/basic_regex/84110.cc (test01)
            [__cpp_exceptions]: Disambiguate extended.
    
    (cherry picked from commit 931f1e377ad27af2801c1e68946010e980810539)

Diff:
---
 libstdc++-v3/testsuite/28_regex/basic_regex/84110.cc | 3 +++
 1 file changed, 3 insertions(+)

diff --git a/libstdc++-v3/testsuite/28_regex/basic_regex/84110.cc b/libstdc++-v3/testsuite/28_regex/basic_regex/84110.cc
index b9971dcaac5..16f928b40ef 100644
--- a/libstdc++-v3/testsuite/28_regex/basic_regex/84110.cc
+++ b/libstdc++-v3/testsuite/28_regex/basic_regex/84110.cc
@@ -11,6 +11,9 @@ void test01()
 
 #if __cpp_exceptions
   using namespace std::regex_constants;
+  // See https://gcc.gnu.org/pipermail/gcc-patches/2021-October/582486.html
+  using std::regex_constants::extended;
+
   for (auto syn : {basic, extended, awk, grep, egrep})
   {
     try


More information about the Libstdc++-cvs mailing list