OS : Redhat 6.3
Compiler : icpc 13.0.1
I've got some trouble with a static variable inside C++ object embedded in a dynamic library loaded by ltmm (plugin).
The C++ object inherits from a template class Singleton which use the static variable (private).
If I build my plugin with g++ 4.4.6, the compiler generate one instance of the static variable in .bss section with flag bind "unique" (objdump).
If I build my plugin with icpc 13.0.1, the compiler generate several instance of the static variable in .data section with flag bind "weak" (objdump).
How to obtain only one instance of a static variable with icpc in a shared library ?
I extracted a piece of code and add a makefile to use it.
In "informations.txt" , you can see that the objects sbr::Singleton<sbr::Object1>::_instance and sbr::Singleton<sbr::Object2>::_instance don't have the same bind flag. I don't known how to get an unique instance for this objects with the icpc compiler. How do I declare _instance to get a behavior like GNU compiler ?