http://gcc.gnu.org/bugzilla/show_bug.cgi?id=55877
Bug #: 55877 Summary: [4.6/4.7/4.8 Regression] Anon visibility issues Classification: Unclassified Product: gcc Version: 4.8.0 Status: UNCONFIRMED Severity: normal Priority: P3 Component: c++ AssignedTo: unassig...@gcc.gnu.org ReportedBy: ja...@gcc.gnu.org typedef struct { typedef enum { X, Y } A; typedef struct { } B; struct C { }; } D; void foo (D) {} void foo (D::A) {} void foo (D::B) {} void foo (D::C) {} Starting with PR54883 the foo (D::A) gets anon visibility, in 4.4 all 4 foo functions had default visibility, starting with 4.5 the last two had anon visibility.