unnamed namespace restricts the visibility of the defined entities to the source file in which the anonymous namespace is defined. IMHO gcc should hide by default symbols from anonymous namespaces.
current gcc behaviour exports useless anon. symbols: ... g DF .text ... Base (anonymous namespace)::internalImplementation(int) -- Summary: hidden visibility for symbols from anonymous namespaces. Product: gcc Version: 4.1.1 Status: UNCONFIRMED Severity: enhancement Priority: P3 Component: c++ AssignedTo: unassigned at gcc dot gnu dot org ReportedBy: pluto at agmk dot net GCC build triplet: * GCC host triplet: * GCC target triplet: * http://gcc.gnu.org/bugzilla/show_bug.cgi?id=26770