Hacker News new | ask | show | jobs
by corysama 5555 days ago
If you are instantiating equivalent functions (sorting foo* vs sorting bar* ) then the linker will merge their binaries -no dupes there. If you are generating different functions (sorting foo vs foo* ) then you are asking for different functions -no dupes there either. If you want to keep everything down to one function, qsort() didn't disappear when they added std::sort() and it is pretty close to what a dynamic language sort would do under the hood.
2 comments

I believe this is called Identical COMDAT Folding in VC++
Some linkers do what you describe. Not all.