c++.stlsoft - VC++ 8.0 x64 compilation errors for scoped_handle
- =?iso-8859-1?Q?Cl=E1udio_Albuquerque?= (67/67) Jul 25 2007 charset="iso-8859-1"
- Matthew Wilson (5/5) Jul 29 2007 Cláudio
- Cláudio Albuquerque (15/26) Jul 30 2007 Mathew,
- Matthew Wilson (9/22) Aug 03 2007 It could well be. I've update the file (and others throughout the libs) ...
- Cláudio Albuquerque (30/62) Aug 10 2007 Hi Mathew,
- Matthew Wilson (12/44) Aug 10 2007 I think we're nearly there. I suspect stdcall is not supported, so you p...
- Cláudio Albuquerque (24/77) Aug 13 2007 Hi Mathew,
- Matthew Wilson (8/46) Aug 16 2007 I think part of the problem is that stlsoft.h defines STLSOFT_CDECL_SUPP...
- Matthew Wilson (7/12) Aug 16 2007 Sigh. Stupid web-news thing.
- Cláudio Albuquerque (81/101) Aug 21 2007 Hi Mathew,
- Matthew Wilson (6/13) Aug 21 2007 Excellent. From this, it appears that the 64-bits simply ignore any call...
- Cláudio Albuquerque (6/28) Aug 22 2007 Hi Mathew,
- Matthew Wilson (4/11) Aug 22 2007 Thanks. Here's one (possibly final) batch.
- Cláudio Albuquerque (91/103) Aug 23 2007 Mathew, here it goes....
- Matthew Wilson (8/46) Aug 16 2007 I think part of the problem is that stlsoft.h defines STLSOFT_CDECL_SUPP...
charset="iso-8859-1" Content-Transfer-Encoding: quoted-printable Hi Mathew, We are currently starting to port of some of our speed&memory hungry = services to the x64 world. Though when I fliped I ended up getting this compilation errors for = scoped_handle<>. Can you help me with this? Thanks, Kind Regards Cl=E1udio Albuquerque \stlsoft\1.9.2\include\stlsoft/smartptr/scoped_handle.hpp(426) : error = C2535: 'stlsoft::scoped_handle<H>::scoped_handle(H,void (__cdecl = *)(H),H)' : member function already defined or declared \stlsoft\1.9.2\include\stlsoft/smartptr/scoped_handle.hpp(371) : see = declaration of 'stlsoft::scoped_handle<H>::scoped_handle' \stlsoft\1.9.2\include\stlsoft/smartptr/scoped_handle.hpp(641) : see = reference to class template instantiation 'stlsoft::scoped_handle<H>' = being compiled \stlsoft\1.9.2\include\stlsoft/smartptr/scoped_handle.hpp(452) : error = C2535: 'stlsoft::scoped_handle<H>::scoped_handle(H,R (__cdecl *)(H),H)' = : member function already defined or declared \stlsoft\1.9.2\include\stlsoft/smartptr/scoped_handle.hpp(398) : see = declaration of 'stlsoft::scoped_handle<H>::scoped_handle' \stlsoft\1.9.2\include\stlsoft/smartptr/scoped_handle.hpp(464) : error = C2535: 'stlsoft::scoped_handle<H>::scoped_handle(H *,R (__cdecl *)(H = *),H)' : member function already defined or declared \stlsoft\1.9.2\include\stlsoft/smartptr/scoped_handle.hpp(410) : see = declaration of 'stlsoft::scoped_handle<H>::scoped_handle' \stlsoft\1.9.2\include\stlsoft/smartptr/scoped_handle.hpp(482) : error = C2535: 'stlsoft::scoped_handle<H>::scoped_handle(H,void (__cdecl = *)(H),H)' : member function already defined or declared \stlsoft\1.9.2\include\stlsoft/smartptr/scoped_handle.hpp(371) : see = declaration of 'stlsoft::scoped_handle<H>::scoped_handle' \stlsoft\1.9.2\include\stlsoft/smartptr/scoped_handle.hpp(493) : error = C2535: 'stlsoft::scoped_handle<H>::scoped_handle(H *,void (__cdecl *)(H = *),H)' : member function already defined or declared \stlsoft\1.9.2\include\stlsoft/smartptr/scoped_handle.hpp(383) : see = declaration of 'stlsoft::scoped_handle<H>::scoped_handle' \stlsoft\1.9.2\include\stlsoft/smartptr/scoped_handle.hpp(508) : error = C2535: 'stlsoft::scoped_handle<H>::scoped_handle(H,R (__cdecl *)(H),H)' = : member function already defined or declared \stlsoft\1.9.2\include\stlsoft/smartptr/scoped_handle.hpp(398) : see = declaration of 'stlsoft::scoped_handle<H>::scoped_handle' \stlsoft\1.9.2\include\stlsoft/smartptr/scoped_handle.hpp(520) : error = C2535: 'stlsoft::scoped_handle<H>::scoped_handle(H *,R (__cdecl *)(H = *),H)' : member function already defined or declared \stlsoft\1.9.2\include\stlsoft/smartptr/scoped_handle.hpp(410) : see = declaration of 'stlsoft::scoped_handle<H>::scoped_handle' \stlsoft\1.9.2\include\stlsoft/smartptr/scoped_handle.hpp(696) : error = C2535: 'stlsoft::scoped_handle<void>::scoped_handle(void (__cdecl = *)(void))' : member function already defined or declared \stlsoft\1.9.2\include\stlsoft/smartptr/scoped_handle.hpp(671) : see = declaration of 'stlsoft::scoped_handle<void>::scoped_handle' \stlsoft\1.9.2\include\stlsoft/smartptr/scoped_handle.hpp(708) : error = C2535: 'stlsoft::scoped_handle<void>::scoped_handle(R (__cdecl = *)(void))' : member function already defined or declared \stlsoft\1.9.2\include\stlsoft/smartptr/scoped_handle.hpp(683) : see = declaration of 'stlsoft::scoped_handle<void>::scoped_handle' \stlsoft\1.9.2\include\stlsoft/smartptr/scoped_handle.hpp(723) : error = C2535: 'stlsoft::scoped_handle<void>::scoped_handle(void (__cdecl = *)(void))' : member function already defined or declared \stlsoft\1.9.2\include\stlsoft/smartptr/scoped_handle.hpp(671) : see = declaration of 'stlsoft::scoped_handle<void>::scoped_handle' \stlsoft\1.9.2\include\stlsoft/smartptr/scoped_handle.hpp(735) : error = C2535: 'stlsoft::scoped_handle<void>::scoped_handle(R (__cdecl = *)(void))' : member function already defined or declared \stlsoft\1.9.2\include\stlsoft/smartptr/scoped_handle.hpp(683) : see = declaration of 'stlsoft::scoped_handle<void>::scoped_handle'
Jul 25 2007
Cláudio Apologies, but at the moment I have no insight to offer into this. I'm currently subsisting on just a single laptop, with incomplete resources, so wouldn't be in a position to work on this. Further, I don't have access to VC8 64-bit, which might make things a little more protracted. So, no good news at this point. But I just wanted to acknowledge the post. I hope to be able to spend the time to work through the problem from first principles sometime soon. (It might also help to use the -Wp64 option of VC8. Maybe ...) Cheers Matt
Jul 29 2007
Mathew, Ok, no problem. And if you don't have access to VC8 64bit than that just makes it a really interesting situation. I always compile with the -Wp64 switch on, and in the 32 bit world no warning appears. Looking at the error messages I've just wondering if the change of ABI for x64 could be the reason for problem? (http://msdn2.microsoft.com/en-us/library/ms235286(VS.80).aspx) PS1: Hum maybe this a sign to recheck the chapter on ABI on Imperfect C++. PS2: Just got the new book. Can't say anything about the contents. But just like IC++ sure like the cover / aspect of the book. Regards Cláudio Albuquerque "Matthew Wilson" <no-one nowhere.none> wrote in message news:f8jnfl$1ose$1 digitalmars.com...Cláudio Apologies, but at the moment I have no insight to offer into this. I'm currently subsisting on just a single laptop, with incomplete resources, so wouldn't be in a position to work on this. Further, I don't have access to VC8 64-bit, which might make things a little more protracted. So, no good news at this point. But I just wanted to acknowledge the post. I hope to be able to spend the time to work through the problem from first principles sometime soon. (It might also help to use the -Wp64 option of VC8. Maybe ...) Cheers Matt
Jul 30 2007
CláudioMathew, Ok, no problem. And if you don't have access to VC8 64bit than that just makes it a really interesting situation. I always compile with the -Wp64 switch on, and in the 32 bit world no warning appears. Looking at the error messages I've just wondering if the change of ABI for x64 could be the reason for problem? (http://msdn2.microsoft.com/en-us/library/ms235286(VS.80).aspx)It could well be. I've update the file (and others throughout the libs) so that there are three pre-processor symbols that determine which calling convention-specific code is included: - STLSOFT_CF_CDECL_SUPPORTED - STLSOFT_CF_FASTCALL_SUPPORTED - STLSOFT_CF_STDCALL_SUPPORTED So, if you have a mind to, you can play around with the definitions of these in $(STLSOFT)/include/stlsoft/internal/cccap/msvc.h and maybe confirm your hypothesis.PS1: Hum maybe this a sign to recheck the chapter on ABI on Imperfect C++.He he. Well, it's for sure that I need to get hold of VC8x64 for the writing on "Breaking Up The Monolith". ;-)PS2: Just got the new book. Can't say anything about the contents. But just like IC++ sure like the cover / aspect of the book.Great! Don't forget to let me know what you think of it (and to post reviews on amazon.com <g>) Matthew
Aug 03 2007
Hi Mathew, I've tried out your suggestion, and since I'm flying some what blind, here are the results for the different definitions of the 1.9.5: If I define in msvc.h STLSOFT_CF_CDECL_SUPPORTED I get 11 Errors problems with scoped_handle definitions for STLSOFT_CF_FASTCALL_SUPPORTED and STLSOFT_CF_STDCALL_SUPPORTED. If I define in msvc.h STLSOFT_CF_STDCALL_SUPPORTED or STLSOFT_CF_FASTCALL_SUPPORTED I get the following 5 Errors: Error 50 error C2535: 'stlsoft::scoped_handle<H>::scoped_handle(H,void (__cdecl *)(H),H)' : member function already defined or declared D:\stlsoft\1.9.5\include\stlsoft\smartptr\scoped_handle.hpp 488 Error 51 error C2535: 'stlsoft::scoped_handle<H>::scoped_handle(H,R (__cdecl *)(H),H)' : member function already defined or declared D:\stlsoft\1.9.5\include\stlsoft\smartptr\scoped_handle.hpp 514 Error 52 error C2535: 'stlsoft::scoped_handle<H>::scoped_handle(H *,R (__cdecl *)(H *),H)' : member function already defined or declared D:\stlsoft\1.9.5\include\stlsoft\smartptr\scoped_handle.hpp 526 Error 53 error C2535: 'stlsoft::scoped_handle<void>::scoped_handle(void (__cdecl *)(void))' : member function already defined or declared D:\stlsoft\1.9.5\include\stlsoft\smartptr\scoped_handle.hpp 731 Error 54 error C2535: 'stlsoft::scoped_handle<void>::scoped_handle(R (__cdecl *)(void))' : member function already defined or declared D:\stlsoft\1.9.5\include\stlsoft\smartptr\scoped_handle.hpp 743 So I think maybe I'm not defining things in the right place, because if I go to line 488 and before the #ifdef STLSOFT_CF_STDCALL_SUPPORTED I add #undef STLSOFT_CF_STDCALL_SUPPORTED all compiles perfectly. Regards Cláudio Albuquerque "Matthew Wilson" <no-one nowhere.no.com> wrote in message news:f9078v$1ife$1 digitalmars.com...CláudioMathew, Ok, no problem. And if you don't have access to VC8 64bit than that just makes it a really interesting situation. I always compile with the -Wp64 switch on, and in the 32 bit world no warning appears. Looking at the error messages I've just wondering if the change of ABI for x64 could be the reason for problem? (http://msdn2.microsoft.com/en-us/library/ms235286(VS.80).aspx)It could well be. I've update the file (and others throughout the libs) so that there are three pre-processor symbols that determine which calling convention-specific code is included: - STLSOFT_CF_CDECL_SUPPORTED - STLSOFT_CF_FASTCALL_SUPPORTED - STLSOFT_CF_STDCALL_SUPPORTED So, if you have a mind to, you can play around with the definitions of these in $(STLSOFT)/include/stlsoft/internal/cccap/msvc.h and maybe confirm your hypothesis.PS1: Hum maybe this a sign to recheck the chapter on ABI on Imperfect C++.He he. Well, it's for sure that I need to get hold of VC8x64 for the writing on "Breaking Up The Monolith". ;-)PS2: Just got the new book. Can't say anything about the contents. But just like IC++ sure like the cover / aspect of the book.Great! Don't forget to let me know what you think of it (and to post reviews on amazon.com <g>) Matthew
Aug 10 2007
Cl�udio Albuquerque Wrote:Hi Mathew, I've tried out your suggestion, and since I'm flying some what blind, here are the results for the different definitions of the 1.9.5: If I define in msvc.h STLSOFT_CF_CDECL_SUPPORTED I get 11 Errors problems with scoped_handle definitions for STLSOFT_CF_FASTCALL_SUPPORTED and STLSOFT_CF_STDCALL_SUPPORTED. If I define in msvc.h STLSOFT_CF_STDCALL_SUPPORTED or STLSOFT_CF_FASTCALL_SUPPORTED I get the following 5 Errors: Error 50 error C2535: 'stlsoft::scoped_handle<H>::scoped_handle(H,void (__cdecl *)(H),H)' : member function already defined or declared D:\stlsoft\1.9.5\include\stlsoft\smartptr\scoped_handle.hpp 488 Error 51 error C2535: 'stlsoft::scoped_handle<H>::scoped_handle(H,R (__cdecl *)(H),H)' : member function already defined or declared D:\stlsoft\1.9.5\include\stlsoft\smartptr\scoped_handle.hpp 514 Error 52 error C2535: 'stlsoft::scoped_handle<H>::scoped_handle(H *,R (__cdecl *)(H *),H)' : member function already defined or declared D:\stlsoft\1.9.5\include\stlsoft\smartptr\scoped_handle.hpp 526 Error 53 error C2535: 'stlsoft::scoped_handle<void>::scoped_handle(void (__cdecl *)(void))' : member function already defined or declared D:\stlsoft\1.9.5\include\stlsoft\smartptr\scoped_handle.hpp 731 Error 54 error C2535: 'stlsoft::scoped_handle<void>::scoped_handle(R (__cdecl *)(void))' : member function already defined or declared D:\stlsoft\1.9.5\include\stlsoft\smartptr\scoped_handle.hpp 743 So I think maybe I'm not defining things in the right place, because if I go to line 488 and before the #ifdef STLSOFT_CF_STDCALL_SUPPORTED I add #undef STLSOFT_CF_STDCALL_SUPPORTED all compiles perfectly.I think we're nearly there. I suspect stdcall is not supported, so you probably just need to change line 512 from stlsoft/internal/cccap/msvc.h rom: #define STLSOFT_CF_STDCALL_SUPPORTED to #ifndef WIN64 #endif /* WIN64 */ If that fixes it, we can add that in permanently. (Actually, we should do a couple of other tests, to determine which of cdecl, fastcall, stdcall and thiscall calling conventions can be used in Win64, and then verify which ones can be used with scoped_handle. I'll knock something up, once I hear back from you on the step above.) Cheers Matt P.S. You any further into XSTLv1? :-)
Aug 10 2007
Hi Mathew, The list of changes in the msvc.h to allow it to compile is: /* ///////////////////////////////////////////////////////////////////////// * Calling convention */ #ifndef _WIN64 /* Changed */ #define STLSOFT_CF_CDECL_SUPPORTED #else #define STLSOFT_CF_FASTCALL_SUPPORTED #endif /* WIN64 */ #ifndef _MANAGED #endif /* !_MANAGED */ #ifndef _WIN64 /* Added */ #endif /* WIN64 */ Though I do not understand why if STLSOFT_CF_CDECL_SUPPORTED is defined I get errors on FASTCALL definition of scoped_handle<>. My only guess is that the compiler is transforming the internal STDCALLs and CDECL calls into FASTCALLs, causing the duplicate definition errors. Regards Cláudio Albuquerque "Matthew Wilson" <no-one nowhere.no.com> wrote in message news:f9jctv$2frp$1 digitalmars.com...Cl�udio Albuquerque Wrote:Hi Mathew, I've tried out your suggestion, and since I'm flying some what blind, here are the results for the different definitions of the 1.9.5: If I define in msvc.h STLSOFT_CF_CDECL_SUPPORTED I get 11 Errors problems with scoped_handle definitions for STLSOFT_CF_FASTCALL_SUPPORTED and STLSOFT_CF_STDCALL_SUPPORTED. If I define in msvc.h STLSOFT_CF_STDCALL_SUPPORTED or STLSOFT_CF_FASTCALL_SUPPORTED I get the following 5 Errors: Error 50 error C2535: 'stlsoft::scoped_handle<H>::scoped_handle(H,void (__cdecl *)(H),H)' : member function already defined or declared D:\stlsoft\1.9.5\include\stlsoft\smartptr\scoped_handle.hpp 488 Error 51 error C2535: 'stlsoft::scoped_handle<H>::scoped_handle(H,R (__cdecl *)(H),H)' : member function already defined or declared D:\stlsoft\1.9.5\include\stlsoft\smartptr\scoped_handle.hpp 514 Error 52 error C2535: 'stlsoft::scoped_handle<H>::scoped_handle(H *,R (__cdecl *)(H *),H)' : member function already defined or declared D:\stlsoft\1.9.5\include\stlsoft\smartptr\scoped_handle.hpp 526 Error 53 error C2535: 'stlsoft::scoped_handle<void>::scoped_handle(void (__cdecl *)(void))' : member function already defined or declared D:\stlsoft\1.9.5\include\stlsoft\smartptr\scoped_handle.hpp 731 Error 54 error C2535: 'stlsoft::scoped_handle<void>::scoped_handle(R (__cdecl *)(void))' : member function already defined or declared D:\stlsoft\1.9.5\include\stlsoft\smartptr\scoped_handle.hpp 743 So I think maybe I'm not defining things in the right place, because if I go to line 488 and before the #ifdef STLSOFT_CF_STDCALL_SUPPORTED I add #undef STLSOFT_CF_STDCALL_SUPPORTED all compiles perfectly.I think we're nearly there. I suspect stdcall is not supported, so you probably just need to change line 512 from stlsoft/internal/cccap/msvc.h rom: #define STLSOFT_CF_STDCALL_SUPPORTED to #ifndef WIN64 #endif /* WIN64 */ If that fixes it, we can add that in permanently. (Actually, we should do a couple of other tests, to determine which of cdecl, fastcall, stdcall and thiscall calling conventions can be used in Win64, and then verify which ones can be used with scoped_handle. I'll knock something up, once I hear back from you on the step above.) Cheers Matt P.S. You any further into XSTLv1? :-)
Aug 13 2007
Cl�udio Albuquerque Wrote:Hi Mathew, The list of changes in the msvc.h to allow it to compile is: /* ///////////////////////////////////////////////////////////////////////// * Calling convention */ #ifndef _WIN64 /* Changed */ #define STLSOFT_CF_CDECL_SUPPORTED #else #define STLSOFT_CF_FASTCALL_SUPPORTED #endif /* WIN64 */ #ifndef _MANAGED #endif /* !_MANAGED */ #ifndef _WIN64 /* Added */ #endif /* WIN64 */ Though I do not understand why if STLSOFT_CF_CDECL_SUPPORTED is defined I get errors on FASTCALL definition of scoped_handle<>. My only guess is that the compiler is transforming the internal STDCALLs and CDECL calls into FASTCALLs, causing the duplicate definition errors.I think part of the problem is that stlsoft.h defines STLSOFT_CDECL_SUPPORTED, STLSOFT_CDECL, STLSOFT_FASTCALL and STLSOFT_STDCALL. (I'm changing it for the next release) I'll change all this round, and verify for Win32 compilers. Can I ask you to download the set of .cpp files in http://synesis.com.au/downloads/stlsoft/cc64test.zip, and execute the following command-line: "cl -nologo -c test1.cpp test11.cpp test12.cpp test13.cpp test14.cpp test2.cpp test3.cpp test4.cpp test21.cpp test22.cpp test23.cpp test31.cpp" and send me the output? (Note: some of these are guaranteed not to compile. It's just the difference between what'll compile on Win32 and Win64 that should finally make clear what should be supported in include/stlsoft/internal/cccap/msvc.h). All being well, this should be sorted and released for 1.9.6. :-) Thanks Matt
Aug 16 2007
I'll change all this round, and verify for Win32 compilers. Can I ask you to download the set of .cpp files in http://synesis.com.au/downloads/stlsoft/cc64test.zip, and execute the following command-line: "cl -nologo -c test1.cpp test11.cpp test12.cpp test13.cpp test14.cpp test2.cpp test3.cpp test4.cpp test21.cpp test22.cpp test23.cpp test31.cpp" and send me the output? (Note: some of these are guaranteed not to compile. It's just the difference between what'll compile on Win32 and Win64 that should finally make clear what should be supported in include/stlsoft/internal/cccap/msvc.h).Sigh. Stupid web-news thing. Please note that the link is: http://synesis.com.au/downloads/stlsoft/cc64test.zip and NOT http://synesis.com.au/downloads/stlsoft/cc64test.zip, ;-) Matt
Aug 16 2007
Hi Mathew, Sorry for the delay on the reply but my laptop's hard drive just died on me last Thursday, and I've been quite busy trying to recover the "important" files (by the way any suggestions regarding HD recovering tools are welcome). In the attachment is the output for the x86, x64 and ia64 compilations, hope it helps. Regards Cláudio Albuquerque "Matthew Wilson" <no-one nowhere.no.com> wrote in message news:fa2qr1$1jb1$1 digitalmars.com...begin 666 cl_ia64.txt M.CI8*'9O:60 *%]?8V1E8VP *BDH=F]I9"DI)R Z(&UE;6)E<B!F=6YC=&EO M+F-P<" T*2 Z('-E92!D96-L87)A=&EO;B!O9B G6#HZ6"<-"G1E<W0R,BYC M7U]C9&5C;" J*2AV;VED*2DG(#H ;65M8F5R(&9U;F-T:6]N(&%L<F5A9'D M+F-P<" U*2 Z(&5R<F]R($,R-3,U.B G6#HZ6"AV;VED("A?7V-D96-L("HI M*'9O:60I*2< .B!M96UB97( 9G5N8W1I;VX 86QR96%D>2!D969I;F5D(&]R M97)R;W( 0S(U,S4Z("=8.CI8*'9O:60 *%]?8V1E8VP *BDH=F]I9"DI)R Z M(&UE;6)E<B!F=6YC=&EO;B!A;')E861Y(&1E9FEN960 ;W( 9&5C;&%R960- M6#HZ6 M9" H7U]C9&5C;" J*2AV;VED*2DG(#H ;65M8F5R(&9U;F-T:6]N(&%L<F5A M(#H M(&5R<F]R($,R-3,U.B G6#HZ6"AV;VED("A?7V-D96-L("HI*'9O:60I*2< M.B!M96UB97( 9G5N8W1I;VX 86QR96%D>2!D969I;F5D(&]R(&1E8VQA<F5D ` end begin 666 cl_x64.txt M.CI8*'9O:60 *%]?8V1E8VP *BDH=F]I9"DI)R Z(&UE;6)E<B!F=6YC=&EO M+F-P<" T*2 Z('-E92!D96-L87)A=&EO;B!O9B G6#HZ6"<-"G1E<W0R,BYC M7U]C9&5C;" J*2AV;VED*2DG(#H ;65M8F5R(&9U;F-T:6]N(&%L<F5A9'D M+F-P<" U*2 Z(&5R<F]R($,R-3,U.B G6#HZ6"AV;VED("A?7V-D96-L("HI M*'9O:60I*2< .B!M96UB97( 9G5N8W1I;VX 86QR96%D>2!D969I;F5D(&]R M97)R;W( 0S(U,S4Z("=8.CI8*'9O:60 *%]?8V1E8VP *BDH=F]I9"DI)R Z M(&UE;6)E<B!F=6YC=&EO;B!A;')E861Y(&1E9FEN960 ;W( 9&5C;&%R960- M6#HZ6 M9" H7U]C9&5C;" J*2AV;VED*2DG(#H ;65M8F5R(&9U;F-T:6]N(&%L<F5A M(#H M(&5R<F]R($,R-3,U.B G6#HZ6"AV;VED("A?7V-D96-L("HI*'9O:60I*2< M.B!M96UB97( 9G5N8W1I;VX 86QR96%D>2!D969I;F5D(&]R(&1E8VQA<F5D ` end begin 666 cl_x86.txt M.CI8*'9O:60 *%]?8V1E8VP *BDH=F]I9"DI)R Z(&UE;6)E<B!F=6YC=&EO M+F-P<" T*2 Z('-E92!D96-L87)A=&EO;B!O9B G6#HZ6"<-"G1E<W0R,BYC M<' -"G1E<W0R,RYC<' -"G1E<W0S,2YC<' -"G1E<W0S,2YC<' H-2D .B!E M;65M8F5R(&9U;F-T:6]N(&%L<F5A9'D 9&5F:6YE9"!O<B!D96-L87)E9 T* ` endI'll change all this round, and verify for Win32 compilers. Can I ask you to download the set of .cpp files in http://synesis.com.au/downloads/stlsoft/cc64test.zip, and execute the following command-line: "cl -nologo -c test1.cpp test11.cpp test12.cpp test13.cpp test14.cpp test2.cpp test3.cpp test4.cpp test21.cpp test22.cpp test23.cpp test31.cpp" and send me the output? (Note: some of these are guaranteed not to compile. It's just the difference between what'll compile on Win32 and Win64 that should finally make clear what should be supported in include/stlsoft/internal/cccap/msvc.h).Sigh. Stupid web-news thing. Please note that the link is: http://synesis.com.au/downloads/stlsoft/cc64test.zip and NOT http://synesis.com.au/downloads/stlsoft/cc64test.zip, ;-) Matt
Aug 21 2007
Sorry for the delay on the reply but my laptop's hard drive just died on me last Thursday, and I've been quite busy trying to recover the "important" files (by the way any suggestions regarding HD recovering tools are welcome).Yeah, I know that pain. My (7-year old) server died two months ago. I finally got myself sorted and ordered two nice new big boys - VMs, 2xquad core, etc. etc. - but installing these has been held up by having my office renovated. So I've been living on this dodgy (Windows) laptop for two months. Hopefully I'll get back to being able to test cross-platform and to stop having to back up to a memory stick I carry round my neck at all times. ;-)In the attachment is the output for the x86, x64 and ia64 compilations, hope it helps.Excellent. From this, it appears that the 64-bits simply ignore any calling convention declarators. This should enable me to release 1.9.5 If it's ok with you, I'll put up a few more test4x.cpp files, as a final check of the hypothesis? Thanks for all the help Cheers Matt
Aug 21 2007
Hi Mathew, Sure, just change the files you need and I will run the tests. Regards Cláudio Albuquerque "Matthew Wilson" <no-one nowhere.no.com> wrote in message news:fafk15$2mir$1 digitalmars.com...Sorry for the delay on the reply but my laptop's hard drive just died on me last Thursday, and I've been quite busy trying to recover the "important" files (by the way any suggestions regarding HD recovering tools are welcome).Yeah, I know that pain. My (7-year old) server died two months ago. I finally got myself sorted and ordered two nice new big boys - VMs, 2xquad core, etc. etc. - but installing these has been held up by having my office renovated. So I've been living on this dodgy (Windows) laptop for two months. Hopefully I'll get back to being able to test cross-platform and to stop having to back up to a memory stick I carry round my neck at all times. ;-)In the attachment is the output for the x86, x64 and ia64 compilations, hope it helps.Excellent. From this, it appears that the 64-bits simply ignore any calling convention declarators. This should enable me to release 1.9.5 If it's ok with you, I'll put up a few more test4x.cpp files, as a final check of the hypothesis? Thanks for all the help Cheers Matt
Aug 22 2007
Cláudio Albuquerque <cláudio nowhere.com> Wrote:Hi Mathew, Sure, just change the files you need and I will run the tests. Regards Cláudio AlbuquerqueThanks. Here's one (possibly final) batch. Cheers Matt
Aug 22 2007
Mathew, here it goes.... Regards Cláudio "Matthew Wilson" <no-one nowhere.no.com> wrote in message news:fai6ih$1qic$1 digitalmars.com...Cláudio Albuquerque <cláudio nowhere.com> Wrote:begin 666 cl_x64.txt M6"AV;VED("A?7V-D96-L("HI*'9O:60I*2< .B!M96UB97( 9G5N8W1I;VX M8V1E8VP *BDH=F]I9"DI)R Z(&UE;6)E<B!F=6YC=&EO;B!A;')E861Y(&1E M92!D96-L87)A=&EO;B!O9B G6#HZ6"<-"G1E<W0T,RYC<' -"G1E<W0T,RYC M;VED*2DG(#H ;65M8F5R(&9U;F-T:6]N(&%L<F5A9'D 9&5F:6YE9"!O<B!D M<F]R($,R-3,U.B G6#HZ6"AV;VED("A?7V-D96-L("HI*'9O:60I*2< .B!M M(" (" ('1E<W0T-"YC<' H-"D .B!S964 9&5C;&%R871I;VX ;V8 )U Z M("=8.CI8*'9O:60 *%]?8V1E8VP *BDH=F]I9"DI)R Z(&UE;6)E<B!F=6YC M=&EO;B!A;')E861Y(&1E9FEN960 ;W( 9&5C;&%R960-"B (" (" =&5S M9" H7U]C9&5C;" J*2AV;VED*2DG(#H ;65M8F5R(&9U;F-T:6]N(&%L<F5A M(#H M("HI*'9O:60I*2< .B!M96UB97( 9G5N8W1I;VX 86QR96%D>2!D969I;F5D M(#H 97)R;W( 0S(U,S4Z("=8.CI8*'9O:60 *%]?8V1E8VP *BDH=F]I9"DI M)R Z(&UE;6)E<B!F=6YC=&EO;B!A;')E861Y(&1E9FEN960 ;W( 9&5C;&%R M9B G6#HZ6 M,C4S-3H )U Z.E H=F]I9" H7U]C9&5C;" J*2AV;VED*2DG(#H ;65M8F5R M(&9U;F-T:6]N(&%L<F5A9'D 9&5F:6YE9"!O<B!D96-L87)E9 T*(" (" M("!T97-T-#DN8W ` end begin 666 cl_x86.txt M6"AV;VED("A?7V-D96-L("HI*'9O:60I*2< .B!M96UB97( 9G5N8W1I;VX 0<F%T:6YG($-O9&4N+BX-" `` ` end begin 666 cl_ia64.txt M6"AV;VED("A?7V-D96-L("HI*'9O:60I*2< .B!M96UB97( 9G5N8W1I;VX M8V1E8VP *BDH=F]I9"DI)R Z(&UE;6)E<B!F=6YC=&EO;B!A;')E861Y(&1E M92!D96-L87)A=&EO;B!O9B G6#HZ6"<-"G1E<W0T,RYC<' -"G1E<W0T,RYC M;VED*2DG(#H ;65M8F5R(&9U;F-T:6]N(&%L<F5A9'D 9&5F:6YE9"!O<B!D M<F]R($,R-3,U.B G6#HZ6"AV;VED("A?7V-D96-L("HI*'9O:60I*2< .B!M M(" (" ('1E<W0T-"YC<' H-"D .B!S964 9&5C;&%R871I;VX ;V8 )U Z M("=8.CI8*'9O:60 *%]?8V1E8VP *BDH=F]I9"DI)R Z(&UE;6)E<B!F=6YC M=&EO;B!A;')E861Y(&1E9FEN960 ;W( 9&5C;&%R960-"B (" (" =&5S M9" H7U]C9&5C;" J*2AV;VED*2DG(#H ;65M8F5R(&9U;F-T:6]N(&%L<F5A M(#H M("HI*'9O:60I*2< .B!M96UB97( 9G5N8W1I;VX 86QR96%D>2!D969I;F5D M(#H 97)R;W( 0S(U,S4Z("=8.CI8*'9O:60 *%]?8V1E8VP *BDH=F]I9"DI M)R Z(&UE;6)E<B!F=6YC=&EO;B!A;')E861Y(&1E9FEN960 ;W( 9&5C;&%R M9B G6#HZ6 M,C4S-3H )U Z.E H=F]I9" H7U]C9&5C;" J*2AV;VED*2DG(#H ;65M8F5R M(&9U;F-T:6]N(&%L<F5A9'D 9&5F:6YE9"!O<B!D96-L87)E9 T*(" (" M("!T97-T-#DN8W ` endHi Mathew, Sure, just change the files you need and I will run the tests. Regards Cláudio AlbuquerqueThanks. Here's one (possibly final) batch. Cheers Matt
Aug 23 2007
Cl�udio Albuquerque Wrote:Hi Mathew, The list of changes in the msvc.h to allow it to compile is: /* ///////////////////////////////////////////////////////////////////////// * Calling convention */ #ifndef _WIN64 /* Changed */ #define STLSOFT_CF_CDECL_SUPPORTED #else #define STLSOFT_CF_FASTCALL_SUPPORTED #endif /* WIN64 */ #ifndef _MANAGED #endif /* !_MANAGED */ #ifndef _WIN64 /* Added */ #endif /* WIN64 */ Though I do not understand why if STLSOFT_CF_CDECL_SUPPORTED is defined I get errors on FASTCALL definition of scoped_handle<>. My only guess is that the compiler is transforming the internal STDCALLs and CDECL calls into FASTCALLs, causing the duplicate definition errors.I think part of the problem is that stlsoft.h defines STLSOFT_CDECL_SUPPORTED, STLSOFT_CDECL, STLSOFT_FASTCALL and STLSOFT_STDCALL. (I'm changing it for the next release) I'll change all this round, and verify for Win32 compilers. Can I ask you to download the set of .cpp files in http://synesis.com.au/downloads/stlsoft/cc64test.zip, and execute the following command-line: "cl -nologo -c test1.cpp test11.cpp test12.cpp test13.cpp test14.cpp test2.cpp test3.cpp test4.cpp test21.cpp test22.cpp test23.cpp test31.cpp" and send me the output? (Note: some of these are guaranteed not to compile. It's just the difference between what'll compile on Win32 and Win64 that should finally make clear what should be supported in include/stlsoft/internal/cccap/msvc.h). All being well, this should be sorted and released for 1.9.6. :-) Thanks Matt
Aug 16 2007