As reported over here: http://gcc.gnu.org/ml/gcc-patches/2006-03/msg01428.html
HAVE_GAS_HIDDEN is the wrong check and should not be used. Since this was reported more than a week ago and nothing has been done I am filing a bug report. I am going add this is a regression as anonymous namespace was correctly marked as hidden for a while on powerpc-darwin but is no longer. -- Summary: [4.2 Regression] C++ front-end (and others parts of GCC) use the wrong check to see if hidden visibility is there Product: gcc Version: unknown Status: UNCONFIRMED Severity: normal Priority: P3 Component: c++ AssignedTo: unassigned at gcc dot gnu dot org ReportedBy: pinskia at gcc dot gnu dot org GCC target triplet: powerpc-darwin7.9.0 http://gcc.gnu.org/bugzilla/show_bug.cgi?id=26989