
The attached patch improves the type traits library on Digital Mars. Mostly it just selects the correct code to be used, the only new code is a new version of boost::is_convertible. Using '...' to overload the conversion check works really badly, so I experimented with different ways of trying to get it to select the right overload, and found one that mostly works. You can see it in the patch. Also, when using static cosnt values it can sometimes cause '_m_from' to get instantiated - causing a link error. To work round this, it uses enums.
With this patch applied there are still the following problems:
Those all look fine and I'll apply them, however I've never been able to get dmc working with bjam, for example I see: ...found 42 targets... ...updating 4 targets... dmc-C++-action ..\..\..\bin\boost\libs\config\test\config_info.test\dmc\debug\th reading-multi\config_info.obj '-cpp' is not recognized as an internal or external command, operable program or batch file. -cpp -c -g -S -o+none -Ae -Ar -ND -I"..\..\..\bin\boost\libs\config\t est" -I"c:\data\boost\develop\boost" -o"..\..\..\bin\boost\libs\config\test\co nfig _info.test\dmc\debug\threading-multi\config_info.obj" "..\..\..\libs\config\tes t\config_info.cpp" ...failed dmc-C++-action ..\..\..\bin\boost\libs\config\test\config_info.test\dm c\debug\threading-multi\config_info.obj... ...skipped <@boost!libs!config!test\config_info.test\dmc\debug\threading-multi>c onfig_info.exe for lack of <@boost!libs!config!test\config_info.test\dmc\debug\t hreading-multi>config_info.obj... ...skipped <@boost!libs!config!test\config_info.test\dmc\debug\threading-multi>c onfig_info.run for lack of <@boost!libs!config!test\config_info.test\dmc\debug\t hreading-multi>config_info.exe... ...failed updating 1 target... ...skipped 3 targets... Any ideas? Thanks, John.