www.digitalmars.com         C & C++   DMDScript  

c++ - Version 8.39: crashes with boost MPL (maybe STLport)

reply dan <dan_member pathlink.com> writes:
Trying to compile lib\mpl\example\fsm\player.cpp, DM 8.39 locks up, have to
3-finger it each time. The crash occurs early in the compilation, probably the
preprocessor:  if I set output to verbose, it crashes with only the first line
on the output window.

When I first open DM and it re-parses, it gives tons of preprocessor warnings.
Standard boost header headers, such as,
















now result in a warning at each line, about illegal characters following a
preprocessor directive.

Also, the following STLport file line, which looks to me quite normal,



gets a warning: Encountered preprocessor #error directive

(wxWindows example still compiles OK.)
Dec 08 2003
parent reply "Walter" <walter digitalmars.com> writes:
"dan" <dan_member pathlink.com> wrote in message
news:br273t$1sel$1 digitaldaemon.com...
 Trying to compile lib\mpl\example\fsm\player.cpp, DM 8.39 locks up, have
to
 3-finger it each time. The crash occurs early in the compilation, probably
the
 preprocessor:  if I set output to verbose, it crashes with only the first
line
 on the output window.
Could you make a 3 line source file that causes this?
Dec 08 2003
next sibling parent dan <dan_member pathlink.com> writes:
Could you make a 3 line source file that causes this?
Trying to... For now I've copied the player project to one clalled 'crash'; verified that Build crashes, and then found that the compiler seems to have "crash memory"! --i.e.: If I comment out all code, it stops crashing on Build; but once I un-comment enough so that it crashes again, re-commenting the last line commented-out does not prevent crashing. I am NOT using pre-compiled headers, by the way. In more detail: In crash.cpp (copy of player.cpp), I insert #if 0 / #endif around all code and put a trivial main(), and it builds ok. Then I move my #if 0 down testing that it still compiles. Once class 'player' is in, I get a link error I never had before (but it still does not crash), namely: sc crash.cpp -mn -C -WA -S -3 -a8 -c -gf -D_CONSOLE=1 -IG:\dm\STLport-5.0-1031\stlport -IG:\boost-1.30.2 -IG:\boost-1.30.2\boost\mpl -IG:\boost-1.30.2\libs\mpl\example\fsm -IG:\dm\include -ocrash.obj link /CO /NOI /DE /NOPACKF /XN /NT /ENTRY:mainCRTStartup /BAS:4194304 /A:512 crash.LNK Error: G:\player\crash.OBJ(crash) (10864400): Symbol Undefined ?throw_exception boost YAXABVexception std Z (void cdecl boost::throw_exception(exception::std const &)) Lines Processed: 41452 Errors: 1 Warnings: 0 Build failed The compliler still won't crash on build, though, while function main() looks like, int main() { player p; #if 0 p.process_event(player::play_event()); p.process_event(player::pause_event()); p.process_event(player::play_event()); p.process_event(player::stop_event()); #endif return 0; } But once I move the #if 0 down one more line, un-commenting one of the p.process_event(..) lines, Build locks up: app not responding. And even though I have output set to verbose, all that shows in the output window is the compilation command. Sorry I can't give you better help than this, but I'm no wiz hacker; and I'm having to reboot windows every so many crashes. Cheers! dan
Dec 08 2003
prev sibling parent dan <dan_member pathlink.com> writes:
Could you make a 3 line source file that causes this?
Got it down to 3 lines! int main() { return 0; } DM++ 8,39 crashes and burns. Though this only happens when I start from a project that is a copy of player.cpp, and *after* it has crashed: Even stripping down the file to this level it continues to crash the compiler. I'll make a zip of the project's folder and email it to you. Cheers! dan
Dec 08 2003