title: May a compiler report errors on unknown attributes? Even with scope?
body: <p>In N3291 <em>"7.6.1.(3/5) Attribute Syntax and semantics [decl.attr.grammar]"</em> concerning how <strong>attributes</strong> are written in source code I read</p>
  
  <blockquote>
    <p>The use of an <em>attribute-scoped-token</em> is conditionally-supported, with
     implementation-defined behavior.</p>
  </blockquote>
  
  <p>and</p>
  
  <blockquote>
    <p>For an <em>attribute-token</em> not specified in this International Standard, the behavior is implementation-defined.</p>
  </blockquote>
  
  <p>Does this mean, that attribute specifications like</p>
  
  <pre><code>[[ dllexport ]]
  [[ hiding ]]
  [[ unused ]]
  [[ vendor::attrib ]]
  </code></pre>
  
  <p>may be complained about by a <em>standard conforming compiler</em>? So, it <strong>could report an error</strong> and stop compilation?</p>
  
  <p>I would have hoped that a compiler <strong>should ignore</strong> attributes that it does not know how to handle them. Ok, that might be dangerous, because typos in attributes may be overlooked, for example <code>[[ noretrun ]]</code> or <code>[[ carrys_dependencie ]]</code> :-)</p>
  
  <p>But especially namespaces would help here, right? When I compile <code>[[ gcc::mips ]]</code> on an <em>Microsoft compiler</em> that one should be able to ignore that and not reject it, right?</p>