https://gcc.gnu.org/bugzilla/show_bug.cgi?id=61759
Eric Gallager <egallager at gcc dot gnu.org> changed: What |Removed |Added ---------------------------------------------------------------------------- Target|powerpc-unknown-darwin |*-*-darwin Status|UNCONFIRMED |NEW Last reconfirmed| |2017-09-07 Host|powerpc-unknown-darwin |*-*-darwin Ever confirmed|0 |1 Known to fail| |8.0 Build|powerpc-unknown-darwin |*-*-darwin --- Comment #8 from Eric Gallager <egallager at gcc dot gnu.org> --- (In reply to Eric Gallager from comment #7) > (In reply to Douglas Mencken from comment #6) > > Looks like I found the root of the issue ~ > > GCC ICEs when it meets C++ exception handling (try+catch) > > > > $ cat main.mm > > #include <Foundation/Foundation.h> > > #include <iostream> > > > > int main (void) > > { > > try { > > throw 0; > > } catch (int & e) { > > std::cout << "caught" << std::endl; > > } > > > > NSString *name = @"GNUstep !"; > > NSAutoreleasePool *pool; > > pool = [NSAutoreleasePool new]; > > [pool drain]; > > } > > > > $ g++ main.mm -o test.out -framework Foundation -lobjc > > main.mm: In function 'int main()': > > main.mm:4:5: internal compiler error: in objc_eh_runtime_type, at > > objc/objc-next-runtime-abi-01.c:2804 > > int main (void) > > ^ > > libbacktrace could not find executable to open > > Please submit a full bug report, > > This is similar to bug 35756 but since you have a different testcase I'll > leave this open as a separate bug. Anyways, I think I have bad headers on my > system, because my compiler chokes in that part: > > $ /usr/local/bin/g++ 61759_main.mm -o test.out -framework Foundation -lobjc > In file included from > /System/Library/Frameworks/Security.framework/Headers/Security.h:57:0, > from > /System/Library/Frameworks/CoreServices.framework/Frameworks/LaunchServices. > framework/Headers/LSSharedFileList.h:32, > from > /System/Library/Frameworks/CoreServices.framework/Frameworks/LaunchServices. > framework/Headers/LaunchServices.h:37, > from > /System/Library/Frameworks/CoreServices.framework/Headers/CoreServices.h:41, > from > /System/Library/Frameworks/ApplicationServices.framework/Headers/ > ApplicationServices.h:20, > from > /System/Library/Frameworks/Foundation.framework/Headers/ > NSAppleEventDescriptor.h:8, > from > /System/Library/Frameworks/Foundation.framework/Headers/Foundation.h:107, > from 61759_main.mm:1: > /System/Library/Frameworks/Security.framework/Headers/SecKeychain.h:102:46: > error: shift expression ‘(1853123693 << 8)’ overflows [-fpermissive] > kSecAuthenticationTypeNTLM = AUTH_TYPE_FIX_ ('ntlm'), > ^ > /System/Library/Frameworks/Security.framework/Headers/SecKeychain.h:102:46: > error: enumerator value for ‘kSecAuthenticationTypeNTLM’ is not an integer > constant > kSecAuthenticationTypeNTLM = AUTH_TYPE_FIX_ ('ntlm'), > ^ > /System/Library/Frameworks/Security.framework/Headers/SecKeychain.h:103:46: > error: shift expression ‘(1836281441 << 8)’ overflows [-fpermissive] > kSecAuthenticationTypeMSN = AUTH_TYPE_FIX_ ('msna'), > ^ > /System/Library/Frameworks/Security.framework/Headers/SecKeychain.h:103:46: > error: enumerator value for ‘kSecAuthenticationTypeMSN’ is not an integer > constant > kSecAuthenticationTypeMSN = AUTH_TYPE_FIX_ ('msna'), > ^ > /System/Library/Frameworks/Security.framework/Headers/SecKeychain.h:104:46: > error: shift expression ‘(1685086561 << 8)’ overflows [-fpermissive] > kSecAuthenticationTypeDPA = AUTH_TYPE_FIX_ ('dpaa'), > ^ > /System/Library/Frameworks/Security.framework/Headers/SecKeychain.h:104:46: > error: enumerator value for ‘kSecAuthenticationTypeDPA’ is not an integer > constant > kSecAuthenticationTypeDPA = AUTH_TYPE_FIX_ ('dpaa'), > ^ > /System/Library/Frameworks/Security.framework/Headers/SecKeychain.h:105:46: > error: shift expression ‘(1919967585 << 8)’ overflows [-fpermissive] > kSecAuthenticationTypeRPA = AUTH_TYPE_FIX_ ('rpaa'), > ^ > /System/Library/Frameworks/Security.framework/Headers/SecKeychain.h:105:46: > error: enumerator value for ‘kSecAuthenticationTypeRPA’ is not an integer > constant > kSecAuthenticationTypeRPA = AUTH_TYPE_FIX_ ('rpaa'), > ^ > /System/Library/Frameworks/Security.framework/Headers/SecKeychain.h:106:46: > error: shift expression ‘(1752462448 << 8)’ overflows [-fpermissive] > kSecAuthenticationTypeHTTPBasic = AUTH_TYPE_FIX_ ('http'), > ^ > /System/Library/Frameworks/Security.framework/Headers/SecKeychain.h:106:46: > error: enumerator value for ‘kSecAuthenticationTypeHTTPBasic’ is not an > integer constant > kSecAuthenticationTypeHTTPBasic = AUTH_TYPE_FIX_ ('http'), > ^ > /System/Library/Frameworks/Security.framework/Headers/SecKeychain.h:107:46: > error: shift expression ‘(1752462436 << 8)’ overflows [-fpermissive] > kSecAuthenticationTypeHTTPDigest = AUTH_TYPE_FIX_ ('httd'), > ^ > /System/Library/Frameworks/Security.framework/Headers/SecKeychain.h:107:46: > error: enumerator value for ‘kSecAuthenticationTypeHTTPDigest’ is not an > integer constant > kSecAuthenticationTypeHTTPDigest = AUTH_TYPE_FIX_ ('httd'), > ^ > /System/Library/Frameworks/Security.framework/Headers/SecKeychain.h:108:46: > error: shift expression ‘(1718579821 << 8)’ overflows [-fpermissive] > kSecAuthenticationTypeHTMLForm = AUTH_TYPE_FIX_ ('form'), > ^ > /System/Library/Frameworks/Security.framework/Headers/SecKeychain.h:108:46: > error: enumerator value for ‘kSecAuthenticationTypeHTMLForm’ is not an > integer constant > kSecAuthenticationTypeHTMLForm = AUTH_TYPE_FIX_ ('form'), > ^ > /System/Library/Frameworks/Security.framework/Headers/SecKeychain.h:109:46: > error: shift expression ‘(1684434036 << 8)’ overflows [-fpermissive] > kSecAuthenticationTypeDefault = AUTH_TYPE_FIX_ ('dflt'), > ^ > /System/Library/Frameworks/Security.framework/Headers/SecKeychain.h:109:46: > error: enumerator value for ‘kSecAuthenticationTypeDefault’ is not an > integer constant > kSecAuthenticationTypeDefault = AUTH_TYPE_FIX_ ('dflt'), > ^ > In file included from /usr/local/include/c++/8.0.0/bits/ios_base.h:46:0, > from /usr/local/include/c++/8.0.0/ios:42, > from /usr/local/include/c++/8.0.0/ostream:38, > from /usr/local/include/c++/8.0.0/iostream:39, > from 61759_main.mm:2: > /usr/local/include/c++/8.0.0/system_error:191:23: internal compiler error: > Bus error > explicit operator bool() const noexcept > ^~~~ > libbacktrace could not find executable to open > Please submit a full bug report, > with preprocessed source if appropriate. > See <https://gcc.gnu.org/bugs/> for instructions. > > And my ICE looks similar to the one I get in bug 57607 which also includes > the c++ <iostream> header... This error has now disappeared for me, so I can now confirm that I'm getting the same ICE that you originally reported: $ /usr/local/bin/g++ 61759_main.mm -fpermissive -o 61759.exe -framework Foundation -lobjc during GIMPLE pass: eh 61759_main.mm: In function ‘int main()’: 61759_main.mm:4:5: internal compiler error: in objc_eh_runtime_type, at objc/objc-next-runtime-abi-01.c:2793 int main (void) ^~~~ libbacktrace could not find executable to open Please submit a full bug report, with preprocessed source if appropriate. See <https://gcc.gnu.org/bugs/> for instructions. $ Running in gdb gives this backtrace: Breakpoint 1, 0x00e60154 in internal_error () (gdb) bt #0 0x00e60154 in internal_error () #1 0x014954c5 in fancy_abort () #2 0x0118edd7 in objc_eh_runtime_type () #3 0x0076e69e in add_type_for_runtime () #4 0x0076e715 in gen_eh_region_catch () #5 0x00ba90de in lower_eh_constructs_1 () #6 0x00baa7fb in (anonymous namespace)::pass_lower_eh::execute () #7 0x00a5b2e0 in execute_one_pass () #8 0x00a5bba0 in execute_pass_list_1 () #9 0x00a5bbee in execute_pass_list () #10 0x0067ecb9 in cgraph_node::analyze () #11 0x006819ef in analyze_functions () #12 0x006829d2 in symbol_table::finalize_compilation_unit () #13 0x00b4638b in compile_file () #14 0x01af141b in toplev::main () #15 0x01af2a24 in main () (gdb) I'd need to rebuild gcc with debug info to get a better backtrace.