------- Comment #6 from jakub at gcc dot gnu dot org 2010-05-10 14:39 ------- I guess the problem is in the !DECL_ARTIFICIAL (DECL) test in ASM_DECLARE_OBJECT_NAME macro - the guard is artificial. Not sure why that has been added. /* For template static data member instantiations or \ inline fn local statics, use gnu_unique_object so that \ they will be combined even under RTLD_LOCAL. */ \ if (USE_GNU_UNIQUE_OBJECT \ && !DECL_ARTIFICIAL (DECL) && DECL_ONE_ONLY (DECL)) \ ASM_OUTPUT_TYPE_DIRECTIVE (FILE, NAME, "gnu_unique_object"); \ else \ ASM_OUTPUT_TYPE_DIRECTIVE (FILE, NAME, "object"); \
-- http://gcc.gnu.org/bugzilla/show_bug.cgi?id=44059