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

Reply via email to