[preprocessor][dmc] improved dmc conformance

Paul, The newest Digital Mars compiler (8.45) appears to pass all the preprocessor tests when the dmc workarounds are removed. (Specifically, I set BOOST_PP_CONFIG_FLAGS() to (0x0000) and removed the 'dmc' directories for good measure; the result is the same if I set BOOST_PP_CONFIG_FLAGS() to BOOST_PP_CONFIG_STRICT()). If you can verify this, you might want to consider removing the workarounds. Since hardly any of Boost compiles on dmc right now (PP being one of the exceptions), there shouldn't be backward compatibility problems. Jonathan

Jonathan Turkanis wrote:
The newest Digital Mars compiler (8.45) appears to pass all the preprocessor tests when the dmc workarounds are removed. (Specifically, I set BOOST_PP_CONFIG_FLAGS() to (0x0000) and removed the 'dmc' directories for good measure; the result is the same if I set BOOST_PP_CONFIG_FLAGS() to BOOST_PP_CONFIG_STRICT()).
Yes, I reported the bugs that I worked around to Walter, and he fixed them all. Sorry, I'd meant to get around to looking at this.
If you can verify this, you might want to consider removing the workarounds. Since hardly any of Boost compiles on dmc right now (PP being one of the exceptions), there shouldn't be backward compatibility problems.
More of boost works on dmc than the regression results suggest. Most of the failures are due to link errors. Something is wrong with the Boost Build dmc toolset. I'll look into that soon. Daniel

Daniel James wrote:
Jonathan Turkanis wrote:
The newest Digital Mars compiler (8.45) appears to pass all the preprocessor tests when the dmc workarounds are removed. (Specifically, I set BOOST_PP_CONFIG_FLAGS() to (0x0000) and removed the 'dmc' directories for good measure; the result is the same if I set BOOST_PP_CONFIG_FLAGS() to BOOST_PP_CONFIG_STRICT()).
Yes, I reported the bugs that I worked around to Walter, and he fixed them all. Sorry, I'd meant to get around to looking at this.
If you can verify this, you might want to consider removing the workarounds. Since hardly any of Boost compiles on dmc right now (PP being one of the exceptions), there shouldn't be backward compatibility problems.
More of boost works on dmc than the regression results suggest.
This is what I suspect. Many failures seem to be related to Boost.Test; I haven't had time to try to figure out what is wrong; at least one Boost.Test failure is a dmc internal error.
Most of the failures are due to link errors. Something is wrong with the Boost Build dmc toolset. I'll look into that soon.
Please let me know what you find out.
Daniel
Jonathan

Daniel James wrote:
Jonathan Turkanis wrote:
The newest Digital Mars compiler (8.45) appears to pass all the preprocessor tests when the dmc workarounds are removed. (Specifically, I set BOOST_PP_CONFIG_FLAGS() to (0x0000) and removed the 'dmc' directories for good measure; the result is the same if I set BOOST_PP_CONFIG_FLAGS() to BOOST_PP_CONFIG_STRICT()).
Yes, I reported the bugs that I worked around to Walter, and he fixed them all.
Walter says he became so frustrated with preprocessor bug reports that he rewrote it from the ground up. Good work! ;-) Jonathan

On Tue, 20 Sep 2005 10:20:36 -0600 "Jonathan Turkanis" <technews@kangaroologic.com> wrote:
Walter says he became so frustrated with preprocessor bug reports that he rewrote it from the ground up. Good work! ;-)
I'm guessing that he could've used wave, and saved a lot of work, right?

Jody Hagins wrote:
On Tue, 20 Sep 2005 10:20:36 -0600 "Jonathan Turkanis" <technews@kangaroologic.com> wrote:
Walter says he became so frustrated with preprocessor bug reports that he rewrote it from the ground up. Good work! ;-)
I'm guessing that he could've used wave, and saved a lot of work, right?
I know he looked at Wave. I think that after conformance, speed, rather than extensibility, was his most important criterion. I also have the feeling he enjoyed the rewrite ;-) Jonathan

"Jonathan Turkanis" <technews@kangaroologic.com> writes:
Jody Hagins wrote:
On Tue, 20 Sep 2005 10:20:36 -0600 "Jonathan Turkanis" <technews@kangaroologic.com> wrote:
Walter says he became so frustrated with preprocessor bug reports that he rewrote it from the ground up. Good work! ;-)
I'm guessing that he could've used wave, and saved a lot of work, right?
I know he looked at Wave. I think that after conformance, speed, rather than extensibility, was his most important criterion.
I also have the feeling he enjoyed the rewrite ;-)
I also have a feeling that DMC isn't conforming enough to compile Wave ;-) http://engineering.meta-comm.com/boost-regression/CVS-HEAD/developer/wave.ht... -- Dave Abrahams Boost Consulting www.boost-consulting.com

David Abrahams wrote:
"Jonathan Turkanis" writes:
Jody Hagins wrote:
"Jonathan Turkanis" wrote:
Walter says he became so frustrated with preprocessor bug reports that he rewrote it from the ground up. Good work! ;-)
I'm guessing that he could've used wave, and saved a lot of work, right?
I know he looked at Wave. I think that after conformance, speed, rather than extensibility, was his most important criterion.
I also have the feeling he enjoyed the rewrite ;-)
I also have a feeling that DMC isn't conforming enough to compile Wave
Yeah, I guess it might not look good if dmc had to be compiled with some other compiler. :-) Jonathan

-----Original Message----- From: boost-bounces@lists.boost.org [mailto:boost-bounces@lists.boost.org] On Behalf Of Jonathan Turkanis
The newest Digital Mars compiler (8.45) appears to pass all the preprocessor tests when the dmc workarounds are removed. (Specifically, I set BOOST_PP_CONFIG_FLAGS() to (0x0000) and removed the 'dmc' directories for good measure; the result is the same if I set BOOST_PP_CONFIG_FLAGS() to BOOST_PP_CONFIG_STRICT()).
This is good news.
If you can verify this, you might want to consider removing the workarounds.
I'll look at this in the next few days. Daniel, how do I test for 8.45?
Since hardly any of Boost compiles on dmc right now (PP being one of the exceptions), there shouldn't be backward compatibility problems.
No, there shouldn't. Regards, Paul Mensonides

Paul Mensonides wrote:
If you can verify this, you might want to consider removing the workarounds.
I'll look at this in the next few days.
Daniel, how do I test for 8.45?
The fixes were actually made in 8.43. You can test for that using: #if defined(__DMC__) && __DMC__ >= 0x843 But removing the workarounds completely is definitely an option, I don't think there's any real reason for anyone to use the older versions. Daniel
participants (5)
-
Daniel James
-
David Abrahams
-
Jody Hagins
-
Jonathan Turkanis
-
Paul Mensonides