Thread overview
DMC 8.32.11 beta
Dec 14, 2002
Walter
Dec 15, 2002
Christof Meerwald
Dec 15, 2002
Walter
Boost configuration - was Re: DMC 8.32.11 beta
Dec 15, 2002
Richard
Dec 15, 2002
Richard
Dec 15, 2002
Christof Meerwald
Dec 16, 2002
Richard
December 14, 2002
Rewrote the wretched macro expansion code in preprocessor to fix longstanding bugs with deeply nested macro expansions. (It's 5% faster, too!) No new namespace fixes, that's next.

www.digitalmars.com/download/freecompiler.html




December 15, 2002
On Sat, 14 Dec 2002 11:35:13 -0800, Walter wrote:
> Rewrote the wretched macro expansion code in preprocessor to fix longstanding bugs with deeply nested macro expansions. (It's 5% faster, too!) No new namespace fixes, that's next.

Great! The Boost preprocessor library seems to work now (when configuring the preprocessor library for MSVC).

BTW, I have updated my Boost patch (see http://svn.cmeerw.net/src/dmc/boost-1.29.0-dm.diff). I even got a really simple program using boost.function to work.


bye, Christof

-- 
http://cmeerw.org                                 JID: cmeerw@jabber.at mailto cmeerw at web.de

...and what have you contributed to the Net?
December 15, 2002
Cool! BTW, the line:

+#define BOOST_COMPILER "Digital Mars C++ version " BOOST_STRINGIZE(__DMC__)

can be replaced with:

+#define BOOST_COMPILER __DMC_VERSION_STRING__

(thanks to Matthew Wilson for the idea)

"Christof Meerwald" <cmeerw@web.de> wrote in message news:atgqpp$rj5$1@digitaldaemon.com...
> BTW, I have updated my Boost patch (see http://svn.cmeerw.net/src/dmc/boost-1.29.0-dm.diff). I even got a really simple program using boost.function to work.



December 15, 2002
In article <atgqpp$rj5$1@digitaldaemon.com>, Christof Meerwald says...

>On Sat, 14 Dec 2002 11:35:13 -0800, Walter wrote:
>> Rewrote the wretched macro expansion code in preprocessor to fix longstanding bugs with deeply nested macro expansions. (It's 5% faster, too!) No new namespace fixes, that's next.

Wonderful! Congrats.

>Great! The Boost preprocessor library seems to work now (when configuring the preprocessor library for MSVC).

Great news. Things are really moving on now.

Not exactly sure what you mean by configuring for MSVC. Does I need to do anything special to configure the preprocessor lib (ie. #define ???)

>BTW, I have updated my Boost patch (see http://svn.cmeerw.net/src/dmc/boost-1.29.0-dm.diff). I even got a really simple program using boost.function to work.

I used the patch, but I think you might need to add a few items. You can probably find them yourself by running "BOOST_1_29_0\LIBS\CONFIG\TEST\config_test.cpp". The items I needed to change to get the test suite to work with your latest patch to STL included:

C:\boost_1_29_0\boost\config\stdlib\stlport.hpp
line 70
//#define BOOST_HAS_PARTIAL_STD_ALLOCATOR
[due to fn(const ref) const verses fn(ref) bug..]

C:\boost_1_29_0\boost\config\compiler\dm.hpp
add
#define BOOST_NO_STD_ALLOCATOR
[due to fn(const ref) const verses fn(ref) bug..]

C:\boost_1_29_0\boost\config\compiler\dm.hpp
add
#define BOOST_NO_CWCTYPE
[due to no dm\include\wctype.h]

C:\boost_1_29_0\boost\config\compiler\dm.hpp
add
#define BOOST_NO_STD_WSTREAMBUF
[due to no dm\include\wctype.h]

C:\boost_1_29_0\boost\config\compiler\dm.hpp
add
#define BOOST_NO_SWPRINTF
[due to no dm\include\wctype.h]

C:\boost_1_29_0\boost\config\compiler\dm.hpp
add
#define BOOST_NO_TEMPLATE_TEMPLATES
[...]

I am researching why iterator_adaptors.hpp is still not functional. I'll post results when I get them.

Richard


December 15, 2002
Ooops, I also added these to stl_dm.h


dm\stlport\config\stl_dm.h
add
#define _STLP_NO_TEMPLATE_CONVERSIONS
#define _STLP_HAS_NO_UNIX98_WCHAR_EXTENSIONS

The unix98 one seemed to be required at some point, but when I recompiled with unix98 undefined, there was no error generated - perhaps I needed to add this for some other test, but since I forgot to document it..

Richard


December 15, 2002
On Sun, 15 Dec 2002 15:21:06 +0000 (UTC), Richard wrote:
>>Great! The Boost preprocessor library seems to work now (when configuring the preprocessor library for MSVC).
> Not exactly sure what you mean by configuring for MSVC. Does I need to do anything special to configure the preprocessor lib (ie. #define ???)

See boost_1_29_0/boost/preprocessor/config/config.hpp in my patch:

# elif defined(_MSC_VER) || defined(__DMC__)
#  define BOOST_PP_CONFIG_FLAGS() (BOOST_PP_CONFIG_MSVC())


bye, Christof

-- 
http://cmeerw.org                                 JID: cmeerw@jabber.at mailto cmeerw at web.de

...and what have you contributed to the Net?
December 16, 2002
After some testing with beta 12:

STL deque is working!
std allocator is working!
many bugs fixed!

stl_dm.h
add
#define _STLP_HAS_NO_UNIX98_WCHAR_EXTENSIONS
#define _STLP_NO_TEMPLATE_CONVERSIONS

The CONVERSIONS needed to be added due to an error in template operators that Christof has already reported. The UNIX98 is required because it doesn't seem to be supported (ie not an error, but a product issue).

dm.hpp
#undef BOOST_NO_CWCTYPE
#undef BOOST_NO_STD_ALLOCATOR
#define BOOST_NO_STD_WSTREAMBUF
#define BOOST_NO_SWPRINTF
#define BOOST_NO_TEMPLATE_TEMPLATES

The TEMPLATE_TEMPLATES exclusion is based on the inability of DM to compile:

template<typename T, template<typename> class U>

The modification to stlport.hpp in boost is no longer required because the STD_ALLOCATOR is now working due to the fix of the const ref bug by his excellence Walter.

Richard