<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; "><div><div>On Dec 3, 2012, at 3:24 AM, Sujit Kamthe <<a href="mailto:Sujit.Kamthe@kpitcummins.com">Sujit.Kamthe@kpitcummins.com</a>> wrote:</div><br class="Apple-interchange-newline"><blockquote type="cite"><div style="margin: 0in 0in 0.0001pt; font-size: 11pt; font-family: Calibri, sans-serif; font-style: normal; font-variant: normal; font-weight: normal; letter-spacing: normal; line-height: normal; orphans: 2; text-align: -webkit-auto; text-indent: 0px; text-transform: none; white-space: normal; widows: 2; word-spacing: 0px; -webkit-text-size-adjust: auto; -webkit-text-stroke-width: 0px; "><span style="font-family: 'Trebuchet MS', sans-serif; color: rgb(23, 54, 93); ">Currently if I run static analyzer using -–analyze option and if there are any syntax errors or missing header errors then clang would just print the compilation diagnostics and won’t do any static analysis.<o:p></o:p></span></div><div style="margin: 0in 0in 0.0001pt; font-size: 11pt; font-family: Calibri, sans-serif; font-style: normal; font-variant: normal; font-weight: normal; letter-spacing: normal; line-height: normal; orphans: 2; text-align: -webkit-auto; text-indent: 0px; text-transform: none; white-space: normal; widows: 2; word-spacing: 0px; -webkit-text-size-adjust: auto; -webkit-text-stroke-width: 0px; "><span style="font-family: 'Trebuchet MS', sans-serif; color: rgb(23, 54, 93); ">If this is achieved clang can also be used as a pure static analysis tool.</span></div></blockquote></div><br><div>Konstantin pretty much answered this in his reply, but the Clang Static Analyzer does not analyze invalid code.  The analyzer does a deep semantic analysis of your code, which means invalid code doesn't have precise semantics.  We could possibly relax its intolerance of invalid code, but missing headers, unsupported syntax, etc., usually imply big wholes in the compiler's understanding if what your code means.  This directly translates into poorer results for the static analyzer.</div></body></html>