www.digitalmars.com Home | Search | C & C++ | D | DMDScript | News Groups | index | prev | next
Archives

D Programming
D
D.gnu
digitalmars.D
digitalmars.D.bugs
digitalmars.D.dtl
digitalmars.D.dwt
digitalmars.D.announce
digitalmars.D.learn
digitalmars.D.debugger

C/C++ Programming
c++
c++.announce
c++.atl
c++.beta
c++.chat
c++.command-line
c++.dos
c++.dos.16-bits
c++.dos.32-bits
c++.idde
c++.mfc
c++.rtl
c++.stl
c++.stl.hp
c++.stl.port
c++.stl.sgi
c++.stlsoft
c++.windows
c++.windows.16-bits
c++.windows.32-bits
c++.wxwindows

digitalmars.empire
digitalmars.DMDScript

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

↑ ↓ ← 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,

# /* Copyright (C) 2001
#  * Housemarque Oy
#  * http://www.housemarque.com
#  *
#  * Permission to copy, use, modify, sell and distribute this software is
#  * granted provided this copyright notice appears in all copies. This
#  * software is provided "as is" without express or implied warranty, and
#  * with no claim as to its suitability for any purpose.
#  */
#
# /* Revised by Paul Mensonides (2002) */
#
# /* See http://www.boost.org for most recent version. */
#

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,

# error <ConditionalMacros.h> must be included. (TYPE_BOOL)

gets a warning: Encountered preprocessor #error directive

(wxWindows example still compiles OK.)
Dec 08 2003
↑ ↓ "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

 3-finger it each time. The crash occurs early in the compilation, probably

 preprocessor:  if I set output to verbose, it crashes with only the first

 on the output window.

Could you make a 3 line source file that causes this?
Dec 08 2003
→ 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
→ 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