<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=Windows-1252">
</head>
<body style="word-wrap: break-word; -webkit-nbsp-mode: space; -webkit-line-break: after-white-space; color: rgb(0, 0, 0); ">
<div>
<div>
<div style="font-family: Arial, sans-serif; font-size: 13px; ">Hi all,</div>
<div style="font-family: Arial, sans-serif; font-size: 13px; "><br>
</div>
<div style="font-family: Arial, sans-serif; font-size: 13px; ">I'm trying to convert our code base from GCC 4.0 to LLVM (on mac OS X), and ran into a problem. In the past we used mach_override and the dynamic_cast source to override the built-in dynamic_cast
operator to detect shared library issues (<a href="http://gcc.gnu.org/faq.html#dso">http://gcc.gnu.org/faq.html#dso</a>). Basically we'd assert at runtime when a duplicated RTTI is found, giving us a chance to backtrace the offending class.</div>
<div style="font-family: Arial, sans-serif; font-size: 13px; "><br>
</div>
<div style="font-family: Arial, sans-serif; font-size: 13px; ">I'm looking for a better solution with llvm; I know about -Wweak–vtables, but compiling with it gives me hundreds of errors, and some of them are false positives.</div>
<div style="font-family: Arial, sans-serif; font-size: 13px; ">So is there any legal way of catching dynamic_cast problems? Maybe dyld_interposing? I'd like to avoid replacing all dynamic_casts with another call if possible (because there are several hundreds
of those calls).</div>
<div style="font-family: Arial, sans-serif; font-size: 13px; "><br>
</div>
<div style="font-family: Arial, sans-serif; font-size: 13px; ">Thanks in advance, Akos</div>
<div style="font-family: Arial, sans-serif; font-size: 13px; "><br>
</div>
</div>
</div>
</body>
</html>