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...