Opened 14 years ago
Closed 14 years ago
#2346 closed Patches (fixed)
[type_traits] Patches to improve support for CodeGear C++ Builder 2009
Reported by: | Nicola Musatti | Owned by: | John Maddock |
---|---|---|---|
Milestone: | To Be Determined | Component: | type_traits |
Version: | Boost Development Trunk | Severity: | Problem |
Keywords: | Cc: |
Description
The attached patches fix workarounds for the latest CodeGear (ex Borland) compiler.
Attachments (2)
Change History (7)
by , 14 years ago
Attachment: | libs_type_traits.patch added |
---|
follow-up: 2 comment:1 by , 14 years ago
Status: | new → assigned |
---|
by , 14 years ago
Attachment: | boost_type_traits.patch added |
---|
comment:2 by , 14 years ago
Replying to johnmaddock:
That looks OK, but can you:
1) Add the new config macros to Boost.Config as well? Not sure about this, but I think we are using BOOST_NO_* names for C++0x features as well: obviously that means changing the logic quite a bit and patching more config files... :-(
I ended up removing those I hadn't already submitted a patch for.
2) Please use the MPL macros for defining the traits classes rather than inheriting from integral_constant directly? Much as I truely hate those macros, they are necessary for full MPL interoperability unfortunately :-(
I just replaced the boost_type_traits.patch file with a new one. I changed the implementation approach to use intrinsics.hpp as much as possible and then I tried to be as little intrusive as I could. The resulting patch reduces type_traits failing tests to 4 for the bcc32 6.1.0 compiler. Let me know if you consider it acceptable.
follow-up: 4 comment:3 by , 14 years ago
Thanks that looks fine - just one small query - for what compiler versions (and where) are you defining BOOST_ILLEGAL_CV_REFERENCES ?
Cheers, John.
comment:4 by , 14 years ago
Replying to anonymous:
Thanks that looks fine - just one small query - for what compiler versions (and where) are you defining BOOST_ILLEGAL_CV_REFERENCES ?
That's defined in config/compiler/borland.hpp and applies to all versions of the compiler except the last one.
Cheers, Nicola
comment:5 by , 14 years ago
Resolution: | → fixed |
---|---|
Status: | assigned → closed |
John applied my patches and merged them into the release branch a while ago.
That looks OK, but can you:
1) Add the new config macros to Boost.Config as well? Not sure about this, but I think we are using BOOST_NO_* names for C++0x features as well: obviously that means changing the logic quite a bit and patching more config files... :-( 2) Please use the MPL macros for defining the traits classes rather than inheriting from integral_constant directly? Much as I truely hate those macros, they are necessary for full MPL interoperability unfortunately :-(
Cheers, John.