http://gcc.gnu.org/bugzilla/show_bug.cgi?id=46206
--- Comment #2 from Paolo Carlini <paolo.carlini at oracle dot com> --- The difference is that in the first case the TYPE_DECL Bar is regenerated and the DECL_IMPLICIT_TYPEDEF_P bit is lost, the true value set earlier by create_implicit_typedef is lost.