Joe Buck <[EMAIL PROTECTED]> writes: | On Thu, Apr 07, 2005 at 06:32:26PM -0400, Andrew Pinski wrote: | > | > On Apr 7, 2005, at 6:01 PM, Daniel Kegel wrote: | > | > >Judging by http://gcc.gnu.org/PR20815, I get the feeling | > >not many people are using the -fprofile-generate | > >and -fprofile-use options yet, at least not with | > >C++, since it appears that namespaces make those options | > >fall over... It'd be nice to get this fixed for gcc-4.0 | > >(assuming it's a real bug and not just user error). | > | > anonymous names are always problems, as I wrote in the bug | > you can use -frandom-seed=somenumber and it should fix the problem, | > I have not tested it. | | I think that the approach we took to anonymous namespaces is broken, and | the names should be treated like C static,
More precisely a back-end notion of "static", not a real C static. That is, that notion of static should *never be seen by the C++ front-end of any purpose*. | except in cases where a | real standard violation occurs. It seems rather tricky to construct | such a case, and the idea of producing random output "just in case" | seems broken. struct S { }; static void f(S) { } template<class T> void g(T t) { f(t); } int main() { S s; g(s); // ERROR -- no f() can be found in instantiation } Oh yes, GCC does not get it right but we know it should be fixed. (and notice, no "export" was involved :-)) -- Gaby