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

Reply via email to