On Mon, May 13, 2024 at 01:59:51PM +0200, Rainer Orth wrote: > Hi Nathaniel, > > > On Mon, May 13, 2024 at 10:40:30AM +0200, Rainer Orth wrote: > >> 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. > >> > >> Ok for trunk? > >> > >> Rainer > > > > There are a couple of other tests that appear to potentially have a > > similar issue: > > > > global-2_a.C > > 21:// { dg-final { scan-lang-dump-not {Reachable GMF '::printf[^\n']*' > > added} module } } > > > > global-3_a.C > > 15:// { dg-final { scan-lang-dump-not {Reachable GMF '::printf[^'\n]*' > > added} module } } > > neither module file contains "Reachable GMF" at all, with ::printf or > otherwise. >
Yes, I think the test is aiming to check that such a declaration is not added at all, and so that's correct. But if for some reason on some system it did add "::std::printf" that would be a bug that would not be caught by this test. > > Which I suppose maybe also should be updated in the same way; I guess > > they don't fail on Solaris because they aren't actually correctly > > testing what they think they are. > > Perhaps, but it would be useful to first understand what those tests are > supposed to look like. WRT global-3_a.C, printf doesn't occur at all, > so this may just be a case of copy-and-paste. > > Maybe Nathan, who authored the tests, can shed some light. > > > Otherwise LGTM. > > Thanks. I'll go ahead and commit the patch as is, asjusting the other > two once it's become clear what they should look like. > Ah, I should have been clearer: I'm not sure I can approve, but I've CC'd Jason in. > Rainer > > -- > ----------------------------------------------------------------------------- > Rainer Orth, Center for Biotechnology, Bielefeld University