https://gcc.gnu.org/bugzilla/show_bug.cgi?id=61759
Eric Gallager <egallager at gcc dot gnu.org> changed: What |Removed |Added ---------------------------------------------------------------------------- CC| |egallager at gcc dot gnu.org --- Comment #7 from Eric Gallager <egallager at gcc dot gnu.org> --- (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...