>>I've also determined why VC++ complains about deprecated destructors >>when using hash_map. Because it's not ANSI (yet), Microsoft decided to >>move it from the std namespace to the stdext namespace. Use of >>std::hash_map is therefore deprecated. Similar shenanigans have been >>committed by gcc from one version to another. I see where this is >>handled (llvm/ADT/hash_map), but it isn't clear how to add support for >>VC++ to the auto config magic. > > Yeah, there's tests in autoconf/m4/cxx_hash_map to dictate which naming > style needs to be used. You'll have to haxor it in there if you're not > using the configure script.I created a special configure project in the Visual Studio solution which uses sed to directly enter the correct configuration values for the Visual Studio build. It seems quite unnecessary to have all the auto detection stuff work on windows since it's a fairly homogenous build environment ;) But in fact I use the stdext:: namespace and I still get deprecation warning, I think it is because the hash function for pointers is deprecated (although it still works) - I'm actually generating code now with LLVM and it works fine, so I'm not too worried about these warnings (as they are not showing up when you use the libs+header files) And thanks a lot for the fixes, Jeff - also thanks to Reid and Chris for swift response when I submit patches! m.
Well.. I cannot see where stdext was being used, but with your pointer to where this is setup I was able to start using stdext and fix the problem. Patch attached. On Tue, 16 Nov 2004 10:25:50 +0100 Morten Ofstad <morten at hue.no> wrote:> >>I've also determined why VC++ complains about deprecated destructors > >>when using hash_map. Because it's not ANSI (yet), Microsoft decided to > >>move it from the std namespace to the stdext namespace. Use of > >>std::hash_map is therefore deprecated. Similar shenanigans have been > >>committed by gcc from one version to another. I see where this is > >>handled (llvm/ADT/hash_map), but it isn't clear how to add support for > >>VC++ to the auto config magic. > > > > Yeah, there's tests in autoconf/m4/cxx_hash_map to dictate which naming > > style needs to be used. You'll have to haxor it in there if you're not > > using the configure script. > > I created a special configure project in the Visual Studio solution > which uses sed to directly enter the correct configuration values for > the Visual Studio build. It seems quite unnecessary to have all the auto > detection stuff work on windows since it's a fairly homogenous build > environment ;) But in fact I use the stdext:: namespace and I still get > deprecation warning, I think it is because the hash function for > pointers is deprecated (although it still works) - I'm actually > generating code now with LLVM and it works fine, so I'm not too worried > about these warnings (as they are not showing up when you use the > libs+header files) > > And thanks a lot for the fixes, Jeff - also thanks to Reid and Chris for > swift response when I submit patches! > > m.-------------- next part -------------- A non-text attachment was scrubbed... Name: diff.out Type: application/octet-stream Size: 1656 bytes Desc: not available URL: <http://lists.llvm.org/pipermail/llvm-dev/attachments/20041116/147a3ca9/attachment.obj>
Jeff Cohen wrote:> Well.. I cannot see where stdext was being used, but with your pointer > to where this is setup I was able to start using stdext and fix the > problem. Patch attached.Right, my mistake -- I did it right first, when I was not using the config system at all I had a -DHASH_NAMESPACE=stdext on the command line but then I must have forgotten when I made the configure system... sorry, and thanks for the fix! m.
Reasonably Related Threads
- [LLVMdev] Fixes for windows version
- [LLVMdev] Fixes for windows version
- [LLVMdev] Fixes for windows version
- tomcat errors starting after upgrade from cent5.3 to 5.5 (/rebuild-jar-repository: error: Could not find)
- Bug#731166: Error: Syntax error: 'end' expected