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

Reply via email to