From: miguelb AT omega DOT lncc DOT br (Fabricio Chalub) Subject: C++ Exceptions. 10 Nov 1996 15:08:05 -0800 Sender: daemon AT cygnus DOT com Approved: cygnus DOT gnu-win32 AT cygnus DOT com Distribution: cygnus Message-ID: <32863AF9.4A85.cygnus.gnu-win32@omega.lncc.br> Mime-Version: 1.0 Content-Type: text/plain; charset=us-ascii Content-Transfer-Encoding: 7bit X-Mailer: Mozilla 2.01 (Win95; I) Original-To: gnu-win32 AT cygnus DOT com Original-Sender: owner-gnu-win32 AT cygnus DOT com Hi, maybe you've discussed this before, if you have, please let me know where I can find more information about this... I know that beta-16's C++ support is broken, first you can't find the C++ include files, but this can be solved by setting the CPLUS_INCLUDE_PATH env. variable. Second, stdc++ is broken, but why? Well, my guess is that the exception-handling mechanism is broken, here's the gdb output of a classic Hello, world (with cout<<) program: GDB is free software and you are welcome to distribute copies of it under certain conditions; type "show copying" to see the conditions. There is absolutely no warranty for GDB; type "show warranty" for details. GDB 4.16.1 (i386-cygwin32), Copyright 1996 Free Software Foundation, Inc. (gdb) file tst.exe Reading symbols from tst.exe...done. (gdb) break main Breakpoint 1 at 0x401038: file tst.cpp, line 4. (gdb) run Starting program: /e/Projects/C/tst.exe bff30000:/WINDOWS/SYSTEM/GDI32.DLL bff60000:/WINDOWS/SYSTEM/USER32.DLL 7e2e0000:/WINDOWS/SYSTEM/WSOCK32.DLL bfef0000:/WINDOWS/SYSTEM/ADVAPI32.DLL bff70000:/WINDOWS/SYSTEM/KERNEL32.DLL 10000000:/WINDOWS/SYSTEM/CYGWIN.DLL bff00000:/WINDOWS/SYSTEM/COMCTL32.DLL 7fe00000:/WINDOWS/SYSTEM/SHELL32.DLL 61000000:/WINDOWS/SYSTEM/URL.DLL Program received signal SIGSEGV, Segmentation fault. 0x100325f8 in __register_exceptions (table=0x4770d8) Current language: auto; currently c (gdb) bt #0 0x100325f8 in __register_exceptions (table=0x4770d8) #1 0x410ca5 in global constructors keyed to exception::exception () at /sethra/death/noer/beta16/src/libstdc++/exceptioni.cc:101 #2 0x10001f32 in __do_global_ctors () at /sethra/death/noer/beta16/src/winsup/dcrt0.cc:563 #3 0x10001f66 in __main () at /sethra/death/noer/beta16/src/winsup/dcrt0.cc:574 #4 0x401038 in main () at tst.cpp:3 #5 0x10001ebb in dll_crt0_1 (uptr=0x413004) at /sethra/death/noer/beta16/src/winsup/dcrt0.cc:520 #6 0x10001ecf in dll_crt0 (uptr=0x413004) at /sethra/death/noer/beta16/src/winsup/dcrt0.cc:532 #7 0x41287c in cygwin_crt0 () at /sethra/death/noer/beta16/src/winsup/libccrt0.cc:89 (gdb) quit if you can't guess what a class hello world is, here's the source:) #include main () { cout << "Hello, World!"; } Am I right? []s fabricio chalub - For help on using this list, send a message to "gnu-win32-request AT cygnus DOT com" with one line of text: "help".