https://gcc.gnu.org/bugzilla/show_bug.cgi?id=66214
--- Comment #27 from Guille <guille at cal dot berkeley.edu> --- (In reply to Guille from comment #26) > In the case below (fails to compile ssl.h on OSX 10.9.5), > I could simply go to ssl.h lines 337 and 339 and comment out the > 'DEPRECATED_IN_MAC_OS_X_VERSION_10_7_AND_LATER'.. > then it compiled no problem. I tested that again. Ignore the above comment. One can make it compile as follows. This is the *original* relevant part of ssl.h: 330: struct bn_gencb_st { unsigned int ver; /* To handle binary (in)compatibility */ void *arg; /* callback-specific data */ union 335: { /* if(ver==1) - handles old style callbacks */ void (*cb_1)(int, int, void *) DEPRECATED_IN_MAC_OS_X_VERSION_10_7_AND_LATER; /* if(ver==2) - new callback style */ int (*cb_2)(int, int, BN_GENCB *) DEPRECATED_IN_MAC_OS_X_VERSION_10_7_AND_LATER; 340: } cb; }; take the union outside the struct and give it a name: union bn_gencb_st__cb_t { void (*cb_1)(int, int, void *) DEPRECATED_IN_MAC_OS_X_VERSION_10_7_AND_LATER; int (*cb_2)(int, int, BN_GENCB *) DEPRECATED_IN_MAC_OS_X_VERSION_10_7_AND_LATER; }; struct bn_gencb_st { unsigned int ver; void *arg; bn_gencb_st__cb_t cb; }; then it compiles fine. > > > (In reply to Guille from comment #24) > > Yes, just checked that. > > 'gcc -g file_that_include_ssl_h.cpp' builds fine, but > > 'g++ -g file_that_include_ssl_h.cpp' ICEs. > > > > > > (In reply to Magnus Fromreide from comment #23) > > > One more question - you are using the command > > > > > > g++ -g file_that_include_ssl_h.cpp > > > > > > right? Building it as C works for me as well.