[dcl.attr.depend] also requires [[carries_dependency]] appear at most once in an attribute list; same for [[noreturn]]. Should this be implemented as part of semantic analysis for both attributes as well? <br><br>Michael<br>
<br><div class="gmail_quote">On Mon, Jan 28, 2013 at 2:42 PM, Richard Smith <span dir="ltr"><<a href="mailto:richard-llvm@metafoo.co.uk" target="_blank">richard-llvm@metafoo.co.uk</a>></span> wrote:<br><blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex">
Author: rsmith<br>
Date: Mon Jan 28 16:42:45 2013<br>
New Revision: 173726<br>
<br>
URL: <a href="http://llvm.org/viewvc/llvm-project?rev=173726&view=rev" target="_blank">http://llvm.org/viewvc/llvm-project?rev=173726&view=rev</a><br>
Log:<br>
Finish semantic analysis for [[carries_dependency]] attribute.<br>
<br>
This required plumbing through a new flag to determine whether a ParmVarDecl is<br>
actually a parameter of a function declaration (as opposed to a function<br>
typedef etc, where the attribute is prohibited). Weirdly, this attribute (just<br>
like [[noreturn]]) cannot be applied to a function type, just to a function<br>
declaration (and its parameters).<br>
<br>
Added:<br>
    cfe/trunk/test/CXX/dcl.dcl/dcl.attr/dcl.attr.depend/p2.cpp<br>
Modified:<br>
    cfe/trunk/include/clang/Basic/DiagnosticSemaKinds.td<br>
    cfe/trunk/include/clang/Sema/DeclSpec.h<br>
    cfe/trunk/include/clang/Sema/Scope.h<br>
    cfe/trunk/lib/Parse/ParseCXXInlineMethods.cpp<br>
    cfe/trunk/lib/Parse/ParseDecl.cpp<br>
    cfe/trunk/lib/Parse/ParseExprCXX.cpp<br>
    cfe/trunk/lib/Parse/ParseObjc.cpp<br>
    cfe/trunk/lib/Parse/Parser.cpp<br>
    cfe/trunk/lib/Sema/SemaDecl.cpp<br>
    cfe/trunk/lib/Sema/SemaDeclAttr.cpp<br>
    cfe/trunk/test/CXX/dcl.dcl/dcl.attr/dcl.attr.depend/p1.cpp<br>
<br>
Modified: cfe/trunk/include/clang/Basic/DiagnosticSemaKinds.td<br>
URL: <a href="http://llvm.org/viewvc/llvm-project/cfe/trunk/include/clang/Basic/DiagnosticSemaKinds.td?rev=173726&r1=173725&r2=173726&view=diff" target="_blank">http://llvm.org/viewvc/llvm-project/cfe/trunk/include/clang/Basic/DiagnosticSemaKinds.td?rev=173726&r1=173725&r2=173726&view=diff</a><br>

==============================================================================<br></blockquote></div>