I've added a change to a test case to demonstrate the issue in https://reviews.llvm.org/D24306 Both of these symbols demangle to abc::abc(): _ZN3abcC1Ev _ZN3abcC2Ev (These would be abc's complete object constructor and base object constructor, respectively.) however with `"abc::abc()"` in the version script only one of the two receives the symbol version. From llvm-readobj -V -dyn-symbols I find these two symbols: _ZN3abcC1Ev@ _ZN3abcC2Ev@@LIBSAMPLE_1.0
Patch: https://reviews.llvm.org/D24336
r281318
Reopened as this change was reverted in r281411 due to buildbot failures. FWIW it passes on my FreeBSD 10.3 machine.
Recommitted as r281605
Yes, but still waiting for build bot, so a bit too early, lets hope it is fine ) (http://lab.llvm.org:8011/builders/clang-with-lto-ubuntu)