On 10/17/18 12:27 AM, Alexander Grund via Boost wrote:
I really wonder how someone can show that much ignorance if all facts are against him.
"#111 doesn't show anything", " I have no problem if the author want's to improve his test. It's just not happening. " EVERYONE sees how it does show a crash.
When I looked at the test my attention was immediately drawn to the following: const char* impossible = "impossible"; return impossible != boost::serialization::extended_type_info_typeid<float>::get_const_instance().get_key(); I memory serves me, get_key() will return the address of string of characters inside the the address space of the DLL. This address is compared to the address of "impossible" which is an address inside the address space of the calling mainline application. I could not and cannot understand what is being tested here. Honestly, when I see this, I felt it unproductive to continue. Given that EVERYONE has looked at this and no one has seen any problem with it, I wondering if I'm missing something really obvious and I would be grateful if anyone could explain this to me. On a different note, I would point out that this whole issue appeared when support for visibility for gcc was introduced last year. This is kind of suspicious to me. An interesting test would be to: a) find a platform on which test_dll_exported fails b) rebuild/test with out support for gcc visibility - (by removing "visibility=default") the the command line. And see if the change. Robert Ramey