2012/10/10 niXman <i.nix...@gmail.com>: > For example, this code work as expected: > > > template<typename T, typename U> > struct is_same { > enum { value = 0 }; > }; > > template<typename T> > struct is_same<T, T> { > enum { value = 1 }; > }; > > int main() { > typedef void(__stdcall* stdcall_func_ptr)(); > typedef void(__cdecl* cdecl_func_ptr)(); > > return is_same<stdcall_func_ptr, cdecl_func_ptr>::value; > } > > main returns 0
The reason why g++ isn't able to distiguish between calling-conventions for C++-function names is caused by the fact that g++ doesn't use the calling-convention within mangled C++-name. VC does this and so you have indeed two different signatures. File a bug report for g++ to gcc's bugzilla. Regards, Kai ------------------------------------------------------------------------------ Don't let slow site performance ruin your business. Deploy New Relic APM Deploy New Relic app performance management and know exactly what is happening inside your Ruby, Python, PHP, Java, and .NET app Try New Relic at no cost today and get our sweet Data Nerd shirt too! http://p.sf.net/sfu/newrelic-dev2dev _______________________________________________ Mingw-w64-public mailing list Mingw-w64-public@lists.sourceforge.net https://lists.sourceforge.net/lists/listinfo/mingw-w64-public