<div dir="auto"><div><div class="gmail_quote"><blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex">We support around 300 attributes currently, and this is a<br>
fraction of the total attributes supported by all vendors and our list<br>
of supported attributes (as well as other compiler's similar lists)<br>
change with every release. I haven't seen any evidence that a list of<br>
specific attributes to not diagnose is useful in the face of the sheer<br>
number of possible attributes.<br></blockquote></div></div><div dir="auto"><br></div><div dir="auto">I severely underestimated the amount of attributes which may need to be listed through whitelisting. The 300 clang-supported attributes wouldn't need to be whitelisted since they are already known, but it's certainly conceivable that some unknown third party attributes could reach 30s to 100s or above, which is no longer that reasonable to list individually.</div><div dir="auto"><br></div><div dir="auto"><div class="gmail_quote"><blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex">I would be comfortable having two separate "unknown attribute" warning<br>
flags: -Wunknown-attributes and -Wunknown-attribute-namespaces (or<br>
something) where the distinction is the former warns on any unknown<br>
attribute regardless of namespace, and the latter only diagnoses<br>
unknown attributes in namespaces for which Clang does not support any<br>
attributes. This seems like it would have a useful level of<br>
granularity while not requiring the user to maintain a separate list<br>
of things in the build system. It also nicely sidesteps problems like<br>
attributes with multiple spellings or target-specific attributes.<br></blockquote></div></div><div dir="auto"><br></div><div dir="auto">I agree with this option. I already thought was reasonable, but now that I realize how many attributes there are, it seems to be one of the better options.</div><div dir="auto"><br></div><div dir="auto">Regards,</div><div dir="auto">Justin</div><div dir="auto"><div class="gmail_quote"><blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex">
</blockquote></div></div></div>