Opened 13 years ago
Closed 13 years ago
#3004 closed Bugs (fixed)
test_dll_exported fails
Reported by: | Owned by: | Robert Ramey | |
---|---|---|---|
Milestone: | Boost 1.40.0 | Component: | serialization |
Version: | Boost Development Trunk | Severity: | Problem |
Keywords: | DLL, msvc-8.0 | Cc: |
Description
Built with msvc-8.0.
The failure message is: d:\boost\boost.build\libs\serialization\test\test_tools.hpp(183): unregistered void cast in function 'int cdecl main(int,char *[])' 1 error detected.
I found and fixed this problem first with our own test suite.
Problem: The lib allows multiple instances of the extended_type_info to represent the same type. This seems to be ok in most cases. But in the void cast code this breaks and reports a missing cast where there is one present: the equality (or order in that case) is too fine. I added the proper weaker equality and search the cast list again using that if the first search failed.
Assembling the patch for this ticket, I noticed that there already is a unit test for the kind of DLL exported stuff we use. But it was not executed. So I fixed that, ran the test on the original lib and it failed. With my patch it succeeds again.
Attachments (3)
Change History (8)
by , 13 years ago
comment:1 by , 13 years ago
Version: | Boost 1.38.0 → Boost 1.39.0 |
---|
updated the "Version:" (1.39.0 was not available before)
comment:2 by , 13 years ago
Resolution: | → fixed |
---|---|
Status: | new → closed |
I have made changes to extended_type_info.cpp and void_cast.cpp in the trunk. I can't really test these very well. I would appreciate it if you could rebuild the library with these latest files and try again.
Robert Ramey
comment:3 by , 13 years ago
I have made changes to extended_type_info.cpp and void_cast.cpp in the trunk. I can't really test these very well. I would appreciate it if you could rebuild the library with these latest files and try again.
Robert Ramey
comment:4 by , 13 years ago
Milestone: | Boost 1.39.0 → Boost 1.40.0 |
---|---|
Resolution: | fixed |
Status: | closed → reopened |
Version: | Boost 1.39.0 → Boost Development Trunk |
Checked with trunk rev. 53717.
The test still fails with message
--- snip ---
d:\boost\boost-trunk\libs\serialization\test\test_tools.hpp(183): unregistered void cast in function 'int cdecl main(int,char *[])' 1 error detected. EXIT STATUS: 1
--- snip ---
I'll try to add the relevant compiled files as an attachment.
by , 13 years ago
Attachment: | test_dll_exported.7z added |
---|
compiled binary with debug information (msvc 8.0)
by , 13 years ago
Attachment: | additional_test_dlls.7z added |
---|
additional test DLLs needed by the test binaries
comment:5 by , 13 years ago
Resolution: | → fixed |
---|---|
Status: | reopened → closed |
fixed in trunk. test_dll_exported added to bjam test suite
Fixes for tests and lib.