https://gcc.gnu.org/g:c4af8ebdb0318b5e9ed3dfdea5501a3260f3acea

commit r15-430-gc4af8ebdb0318b5e9ed3dfdea5501a3260f3acea
Author: Rainer Orth <r...@cebitec.uni-bielefeld.de>
Date:   Mon May 13 14:02:46 2024 +0200

    testsuite: c++: Allow for std::printf in g++.dg/modules/stdio-1_a.H 
[PR98529]
    
    g++.dg/modules/stdio-1_a.H currently FAILs on Solaris:
    
    FAIL: g++.dg/modules/stdio-1_a.H -std=c++17  scan-lang-dump module 
"Depset:0 decl entity:[0-9]* function_decl:'::printf'"
    FAIL: g++.dg/modules/stdio-1_a.H -std=c++2a  scan-lang-dump module 
"Depset:0 decl entity:[0-9]* function_decl:'::printf'"
    FAIL: g++.dg/modules/stdio-1_a.H -std=c++2b  scan-lang-dump module 
"Depset:0 decl entity:[0-9]* function_decl:'::printf'"
    
    The problem is that the module file doesn't contain
    
     Depset:0 decl entity:95 function_decl:'::printf'
    
    as expected by the test, but
    
     Depset:0 decl entity:26 function_decl:'::std::printf'
    
    This happens because Solaris <stdio.h> declares printf in namespace std
    as allowed by C++11, Annex D, D.5.
    
    This patch allows for both forms.
    
    Tested on i386-pc-solaris2.11, sparc-sun-solaris2.11, and
    x86_64-pc-linux-gnu.
    
    2024-05-13  Rainer Orth  <r...@cebitec.uni-bielefeld.de>
    
            gcc/testsuite:
            PR c++/98529
            * g++.dg/modules/stdio-1_a.H (scan-lang-dump): Allow for
            ::std::printf.

Diff:
---
 gcc/testsuite/g++.dg/modules/stdio-1_a.H | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/gcc/testsuite/g++.dg/modules/stdio-1_a.H 
b/gcc/testsuite/g++.dg/modules/stdio-1_a.H
index 9eda2331dd90..3089efdb28f1 100644
--- a/gcc/testsuite/g++.dg/modules/stdio-1_a.H
+++ b/gcc/testsuite/g++.dg/modules/stdio-1_a.H
@@ -10,5 +10,5 @@
 #endif
 // There should be *lots* of depsets (209 for glibc today)
 // { dg-final { scan-lang-dump {Writing section:60 } module } }
-// { dg-final { scan-lang-dump {Depset:0 decl entity:[0-9]* 
function_decl:'::printf'} module } }
+// { dg-final { scan-lang-dump {Depset:0 decl entity:[0-9]* 
function_decl:'(::std)?::printf'} module } }
 // { dg-final { scan-lang-dump {Depset:1 binding namespace_decl:'::printf'} 
module } }

Reply via email to