<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 May 24, 2013, at 9:45 AM, Jordan Rose <<a href="mailto:jordan_rose@apple.com">jordan_rose@apple.com</a>> wrote:</div><blockquote type="cite"><div style="word-wrap: break-word; -webkit-nbsp-mode: space; -webkit-line-break: after-white-space; "><a href="http://llvm.org/bugs/show_bug.cgi?id=16131">PR16131</a> describes an analyzer assertion on taking the address of an extern void variable:<div><br></div><div><pre class="bz_comment_text" id="comment_text_0" style="font-size: small; white-space: pre-wrap; width: 50em; background-color: rgb(255, 255, 255); position: static; z-index: auto; ">extern void v;
static void f(void) {
&v;
}
</pre></div><div>Clearly the analyzer shouldn't crash, but I'm surprised that this is legal at all. Yet I can't find anything in the standard actually forbidding it—you can certainly do the same thing with any incomplete struct type. Can somebody confirm that this is at least grammatically correct?</div></div></blockquote><br></div><div>This is definitely well-formed.</div><div><br></div><div>John.</div><br></body></html>