http://gcc.gnu.org/bugzilla/show_bug.cgi?id=51910
--- Comment #2 from Daniel Wolf <nephatrine at gmail dot com> 2012-01-20 03:44:05 UTC --- (In reply to comment #1) > Is there a reason why you are using -frepo ? It is not as useful as it was > before elf had comdat. Removing -frepo seems to bloat my executable. The GCC documentation (http://gcc.gnu.org/onlinedocs/gcc/Template-Instantiation.html) seemed to portray -frepo as being useful given that the alternatives I'd face are either unnecessarily larger executables or reworking a large header-only template library written in the "Borland model." I suppose explicit instantiation with no implicit instantiation is also an option, but seems needlessly tedious and error-prone to maintain particularly when you have many developers working on a project. >From your comment, I take it there is some way to enable something like COMDAT folding to remove the duplicated function instantiations? If so, what flag(s) would I need to add to the project to enable this? Either way, I'd think the issue should probably be looked at. If -frepo is considered deprecated or just too complicated or unimportant to fix, it should probably just be removed altogether.