>> Yes, that is what I mean. It is odd that -frtti changes us from "this >> is not available anywhere, use linkonce_odr" to "it is available >> elsewhere, use an external declaration". > > Yes, I agree, it's weird (although the transition is in the other > direction, really, since there's no such flag as -frtti, just -fno-rtti). > -fexceptions -fno-rtti is a weird combination to begin with though.
I got curious and decided to reduce it. What I got was: class foo { virtual void bar(); }; struct zed : public foo {}; int f() { throw zed(); } Without -fno-rtti _ZTI3foo is external. With -fno-rtti it is linkonce_odr. It looks like -fno-rtti disables some key function logic in both gcc and clang. Cheers, Rafael _______________________________________________ cfe-commits mailing list cfe-commits@lists.llvm.org http://lists.llvm.org/cgi-bin/mailman/listinfo/cfe-commits