Thread overview | |||||||
---|---|---|---|---|---|---|---|
|
October 11, 2005 problem with: reg_key + std::swap + BCB6 in 1.8.8 | ||||
---|---|---|---|---|
| ||||
Hi, Using WinSTL's reg_key header file seems to break std::swap for BCB6. Somewhere in it, there's the swap specialization for reg_keys placed in the std namespace, however, that seems to be taking precedence over the original std::swap. Any call to std::swap complains about arguments not being of type reg_key. Commenting out the specialization works, fine for me, but I figure a proper workaround for BCB6 might be in order. ... Was 1.8.8 officially released? 'cuz the release notes still read 1.8.7, if I'm not mistaken. ... Cheers, Pablo |
October 11, 2005 Re: problem with: reg_key + std::swap + BCB6 in 1.8.8 | ||||
---|---|---|---|---|
| ||||
Posted in reply to Pablo Aguilar | > Using WinSTL's reg_key header file seems to break std::swap for BCB6. Somewhere in it, there's the swap specialization for reg_keys placed in the > std namespace, however, that seems to be taking precedence over the original > std::swap. > > Any call to std::swap complains about arguments not being of type reg_key. Commenting out the specialization works, fine for me, but I figure a proper > workaround for BCB6 might be in order. I'll take a look. If you can supply a small project that exemplifies the problem that would be immensely helpful. > Was 1.8.8 officially released? 'cuz the release notes still read 1.8.7, if I'm not mistaken. I was working on a way to automate the preparation of the release notes by querying source control and whatnot, but ran out of time, and then discovered I'd released it without release notes. Sigh. Since I expect 1.8.9 will be out in another week or so, I figured I'd let it lie. (I'm just ever so slightly swamped at the mo <G>) Since I got your attention, I'm hoping for some help in a while in sorting things out a little, prior to 1.9 (which will coincide with the manuscript for Extended STL hitting the inboxes of the reviewers for first review; in about 4-6 weeks' time), but it may be more effective to hit you up on that in email form. ;-) Cheers Matthew |
October 12, 2005 Re: problem with: reg_key + std::swap + BCB6 in 1.8.8 | ||||
---|---|---|---|---|
| ||||
Posted in reply to Matthew Attachments: | > I'll take a look. If you can supply a small project that exemplifies the problem that would be immensely helpful. Sure, code looks like this: #include <utility> #include <algorithm> // ^^ I'm not sure which file has std::swap for BCB #include <winstl/reg_key.hpp> #pragma argsused int main(int argc, char* argv[]) { int i = 0, j = 1; std::swap(i, j); // ^ error here ^ // tries to call std::swap(reg_key&, reg_key&); // which is declared in winstl/reg_key inside namespace std return 0; } The project + source files are attached > I was working on a way to automate the preparation of the release notes by querying source control and whatnot, but ran out of time, and then discovered I'd released it without release notes. Sigh. > > Since I expect 1.8.9 will be out in another week or so, I figured I'd let it > lie. (I'm just ever so slightly swamped at the mo <G>) > > Since I got your attention, I'm hoping for some help in a while in sorting things out a little, prior to 1.9 (which will coincide with the manuscript for Extended STL hitting the inboxes of the reviewers for first review; in about 4-6 weeks' time), but it may be more effective to hit you up on that in email form. ;-) > > Cheers > > Matthew Ok, well... I kinda quit my job, so I've time to spare... let me know what you need help with... Pablo |
October 16, 2005 Re: problem with: reg_key + std::swap + BCB6 in 1.8.8 | ||||
---|---|---|---|---|
| ||||
Posted in reply to Pablo Aguilar | Looks like a straight bug in Borland's name resolution. I'll have to remove the swap's for Borland compilation from the requisite components. "Pablo Aguilar" <pablo.aguilar@gmail.com> wrote in message news:dijnu2$2336$1@digitaldaemon.com... > > I'll take a look. If you can supply a small project that exemplifies the problem that would be immensely helpful. > > Sure, code looks like this: > #include <utility> > #include <algorithm> > // ^^ I'm not sure which file has std::swap for BCB > > #include <winstl/reg_key.hpp> > > #pragma argsused > int main(int argc, char* argv[]) > { > int i = 0, j = 1; > std::swap(i, j); > // ^ error here ^ > // tries to call std::swap(reg_key&, reg_key&); > // which is declared in winstl/reg_key inside namespace std > return 0; > } > > The project + source files are attached > > > I was working on a way to automate the preparation of the release notes by > > querying source control and whatnot, but ran out of time, and then discovered I'd released it without release notes. Sigh. > > > > Since I expect 1.8.9 will be out in another week or so, I figured I'd let > it > > lie. (I'm just ever so slightly swamped at the mo <G>) > > > > Since I got your attention, I'm hoping for some help in a while in sorting > > things out a little, prior to 1.9 (which will coincide with the manuscript > > for Extended STL hitting the inboxes of the reviewers for first review; in > > about 4-6 weeks' time), but it may be more effective to hit you up on that > > in email form. ;-) > > > > Cheers > > > > Matthew > > Ok, well... I kinda quit my job, so I've time to spare... let me know what you need help with... > > > Pablo > > > |
October 30, 2005 Re: problem with: reg_key + std::swap + BCB6 in 1.8.8 | ||||
---|---|---|---|---|
| ||||
Posted in reply to Pablo Aguilar | Arturius gives: Arturius Compiler Multiplexer, version 2.0.1.01-alpha (Oct 9 2005, 16:08:44) Copyright Synesis Software, 2001-2005; all rights reserved Written by Matthew Wilson http://arturius.org/, http://synesis.com.au/ Tool: bcc/5.6 ..\code.cpp(16): Warning W8030 : Temporary used for parameter 'lhs' in call to 'std::swap(stlsoft::winstl_project::reg_key_a &,stlsoft::winstl_project::reg_key_a &)' in function main(int,char * *) ..\code.cpp(16): Error E2064 : Cannot initialize 'stlsoft::winstl_project::reg_key_a &' with 'int' in function main(int,char * *) ..\code.cpp(16): Error E2342 : Type mismatch in parameter 'lhs' (wanted 'stlsoft::winstl_project::reg_key_a &', got 'int') in function main(int,char * *) ..\code.cpp(16): Warning W8030 : Temporary used for parameter 'rhs' in call to 'std::swap(stlsoft::winstl_project::reg_key_a &,stlsoft::winstl_project::reg_key_a &)' in function main(int,char * *) ..\code.cpp(16): Error E2064 : Cannot initialize 'stlsoft::winstl_project::reg_key_a &' with 'int' in function main(int,char * *) ..\code.cpp(16): Error E2342 : Type mismatch in parameter 'rhs' (wanted 'stlsoft::winstl_project::reg_key_a &', got 'int') in function main(int,char * *) ..\code.cpp(18): Warning W8004 : 'j' is assigned a value that is never used in function main(int,char * *) ..\code.cpp(18): Warning W8004 : 'i' is assigned a value that is never used in function main(int,char * *) ..\code.cpp(18): Warning W8057 : Parameter 'argc' is never used in function main(int,char * *) ..\code.cpp(18): Warning W8057 : Parameter 'argv' is never used in function main(int,char * *) Tool: cw/7 Tool: cw/8 Tool: dm/8.40 Tool: dm/8.44 Tool: dm/8.45 Tool: dm/beta-sgi [Arturius:dm_filter] ..\code.cpp(16) : Error: undefined identifier 'std' Tool: dm/beta-stlport Tool: gcc/2.9.5 [Arturius:gcc_filter] H:/STLSoft/Releases/1.8.x/STLSoft/include/winstl.h(284): #error Versions of GNU C/C++ prior to 3.0 are not supported by the WinSTL libraries Tool: gcc/3.2 Tool: gcc/3.3 Tool: gcc/3.4 Tool: icl/6 Tool: icl/7 Tool: icl/8 Tool: ow/1.2 ..\code.cpp(5): Error! E059: col(18) unable to open 'utility' ..\code.cpp(6): Error! E059: col(20) unable to open 'algorithm' ..\code.cpp(9): Error! E059: col(29) unable to open 'winstl/reg_key.hpp' ..\code.cpp(16): Error! E241: col(10) 'class std' has not been declared ..\code.cpp(16): Error! E029: col(10) symbol 'swap' has not been declared Tool: ow/1.3 ..\code.cpp(5): Error! E059: col(18) unable to open 'utility' ..\code.cpp(6): Error! E059: col(20) unable to open 'algorithm' ..\code.cpp(9): Error! E059: col(29) unable to open 'winstl/reg_key.hpp' ..\code.cpp(16): Error! E241: col(10) 'class std' has not been declared ..\code.cpp(16): Error! E029: col(10) symbol 'swap' has not been declared Tool: vc/2 ..\code.cpp(5): fatal error C1083: Cannot open include file: 'utility': No such file or directory Tool: vc/4.2 Tool: vc/5 Tool: vc/6 Tool: vc/7 Tool: vc/7.1 Tool: vc/8 It's pretty clear that Borland's a bit of a dunce here. I've adjust winstl_reg_key.h accordingly, and checked all the other specialisations of std::swap(), but please let me know if there're any similar problems elsewhere. The change will be out with 1.8.9 (or 1.9.1) |
Copyright © 1999-2021 by the D Language Foundation