>>>>> "JJ" == Jakub Jelinek <jakub@xxxxxxxxxx> writes: JJ> Ok, so the problem is ignoring important warnings, in this case: JJ> imap/xapian_wrap.cpp: In function 'int JJ> stem_version_set(Xapian::WritableDatabase*, int)': JJ> imap/xapian_wrap.cpp:267:1: warning: no return statement in function JJ> returning non-void [-Wreturn-type] OK, so good, that's bad upstream code. I have given good odds on this being an upstream issue all along, but because the backtraces go through the unwinder it seemed obvious to look there first. I do have to ask, though; is it considered good behavior to just segfault like this? I understand that undefined behavior is just that, but it seems like there has to be a better way to fail that at least looks like it's not a GCC bug. And, finally, if doing this in C++ code is so bad, why isn't this simply an error? JJ> So, effective summary, in C++ >>NEVER<< ignore -Wreturn-type JJ> warning. Thanks for the explanation; I've passed it on to upstream as https://github.com/cyrusimap/cyrus-imapd/issues/2267 - J< _______________________________________________ devel mailing list -- devel@xxxxxxxxxxxxxxxxxxxxxxx To unsubscribe send an email to devel-leave@xxxxxxxxxxxxxxxxxxxxxxx