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. > 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. Rainer -- ----------------------------------------------------------------------------- Rainer Orth, Center for Biotechnology, Bielefeld University