<html><head></head><body style="word-wrap: break-word; -webkit-nbsp-mode: space; -webkit-line-break: after-white-space; ">In r162138. <div>Nick suggested making this a deprecated warning as we have standardized on using the "hidden"</div><div>attribute. Message should be more clear now.<div>I did not provide a "fixit" for this. This is because it would involve replacing the storage class specifier with</div><div>the attribute and AFAIK, we don't keep track of location of storage specifiers.</div><div><br></div><div>- fariborz</div><div><br><div><div>On Aug 15, 2012, at 2:22 PM, Ted Kremenek wrote:</div><br class="Apple-interchange-newline"><blockquote type="cite"><meta http-equiv="Content-Type" content="text/html charset=windows-1252"><div style="word-wrap: break-word; -webkit-nbsp-mode: space; -webkit-line-break: after-white-space; ">Sounds good. I think the general consensus is that we need the warning to be clearer on the issue in order for it to be useful. Thanks for working on this!<div><br><div><div>On Aug 15, 2012, at 2:19 PM, jahanian <<a href="mailto:fjahanian@apple.com">fjahanian@apple.com</a>> wrote:</div><br class="Apple-interchange-newline"><blockquote type="cite"><div style="word-wrap: break-word; -webkit-nbsp-mode: space; -webkit-line-break: after-white-space; ">I am holding back until I hear from Nick. His observation of "unexpected behavior" is different than mine. I need to compare notes with him first.<div><br></div><div>- Fariborz</div><div><br><div><div>On Aug 15, 2012, at 2:12 PM, Ted Kremenek wrote:</div><br class="Apple-interchange-newline"><blockquote type="cite"><meta http-equiv="Content-Type" content="text/html charset=windows-1252"><div style="word-wrap: break-word; -webkit-nbsp-mode: space; -webkit-line-break: after-white-space; "><div><div>On Aug 15, 2012, at 1:39 PM, Richard Smith <<a href="mailto:richard@metafoo.co.uk">richard@metafoo.co.uk</a>> wrote:</div><br class="Apple-interchange-newline"><blockquote type="cite"><span style="font-family: Helvetica; font-size: medium; 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; display: inline !important; float: none; ">The diagnostic message should be sufficient for a typical user to have some idea of what is wrong. The current diagnostic does not meet this standard. If you explain in a bit more detail what the problem is, maybe someone will be able to come up with better diagnostic wording. In any case, diagnostic messages should not start with a capital letter.</span></blockquote></div><br><div>Agreed. Looking at the warning:</div><div><br></div><div><blockquote type="cite"><div>arning: Use of __private_extern__ on tentative definition has unexpected behaviour - use</div><div> __attribute__((visibility("hidden"))) on extern declaration or definition instead [-Wprivate-extern]</div><div>__private_extern__ int xyz;</div></blockquote><br></div><div>The "unexpected behaviour" (behavior is misspelled) is content free. That's the part that needs to be elaborated.</div><div><br></div><div>The "use __attribute__((visibility("hidden"))) on extern declaration or definition instead " can be a note on the warning, which allows you to break the warning up. A FixIt would also be nice.</div></div></blockquote></div><br></div></div></blockquote></div><br></div></div></blockquote></div><br></div></div></body></html>