<html>
    <head>
      <base href="http://llvm.org/bugs/" />
    </head>
    <body><table border="1" cellspacing="0" cellpadding="8">
        <tr>
          <th>Bug ID</th>
          <td><a class="bz_bug_link 
          bz_status_NEW "
   title="NEW --- - leak in clang::sema::DelayedDiagnostic::makeAvailability tools/clang/lib/Sema/DelayedDiagnostic.cpp"
   href="http://llvm.org/bugs/show_bug.cgi?id=19523">19523</a>
          </td>
        </tr>

        <tr>
          <th>Summary</th>
          <td>leak in clang::sema::DelayedDiagnostic::makeAvailability tools/clang/lib/Sema/DelayedDiagnostic.cpp
          </td>
        </tr>

        <tr>
          <th>Product</th>
          <td>new-bugs
          </td>
        </tr>

        <tr>
          <th>Version</th>
          <td>unspecified
          </td>
        </tr>

        <tr>
          <th>Hardware</th>
          <td>PC
          </td>
        </tr>

        <tr>
          <th>OS</th>
          <td>Linux
          </td>
        </tr>

        <tr>
          <th>Status</th>
          <td>NEW
          </td>
        </tr>

        <tr>
          <th>Severity</th>
          <td>normal
          </td>
        </tr>

        <tr>
          <th>Priority</th>
          <td>P
          </td>
        </tr>

        <tr>
          <th>Component</th>
          <td>new bugs
          </td>
        </tr>

        <tr>
          <th>Assignee</th>
          <td>unassignedbugs@nondot.org
          </td>
        </tr>

        <tr>
          <th>Reporter</th>
          <td>kcc@google.com
          </td>
        </tr>

        <tr>
          <th>CC</th>
          <td>llvmbugs@cs.uiuc.edu
          </td>
        </tr>

        <tr>
          <th>Blocks</th>
          <td>19521
          </td>
        </tr>

        <tr>
          <th>Classification</th>
          <td>Unclassified
          </td>
        </tr></table>
      <p>
        <div>
        <pre>reproduce under valgrind or lsan, see <a class="bz_bug_link 
          bz_status_NEW "
   title="NEW --- - Enable LeakSanitizer by default and make clang bootstrap LeakSanitizer-clean"
   href="show_bug.cgi?id=19521">bug 19521</a>:

clang -cc1  -arcmt-check -verify -triple x86_64-apple-darwin10
~/llvm/tools/clang/test/ARCMT/atautorelease-check.m

Direct leak of 300 byte(s) in 6 object(s) allocated from:
    #0 0x7bb360 in operator new[](unsigned long)
/home/kcc/llvm/projects/compiler-rt/lib/asan/asan_new_delete.cc:64
    #1 0x48ef1fe in
clang::sema::DelayedDiagnostic::makeAvailability(clang::Sema::AvailabilityDiagnostic,
clang::SourceLocation, clang::NamedDecl const*, clang::ObjCInterfaceDecl
const*, clang::ObjCPropertyDecl const*, llvm::StringRef)
/home/kcc/llvm/tools/clang/lib/Sema/DelayedDiagnostic.cpp:45
    #2 0x4bb9131 in
clang::Sema::EmitAvailabilityWarning(clang::Sema::AvailabilityDiagnostic,
clang::NamedDecl*, llvm::StringRef, clang::SourceLocation,
clang::ObjCInterfaceDecl const*, clang::ObjCPropertyDecl const*)
/home/kcc/llvm/tools/clang/lib/Sema/SemaDeclAttr.cpp:4912
    #3 0x4d67307 in DiagnoseAvailabilityOfDecl
/home/kcc/llvm/tools/clang/lib/Sema/SemaExpr.cpp:121
    #4 0x4d67307 in clang::Sema::DiagnoseUseOfDecl(clang::NamedDecl*,
clang::SourceLocation, clang::ObjCInterfaceDecl const*)
/home/kcc/llvm/tools/clang/lib/Sema/SemaExpr.cpp:300
    #5 0x4f5e87c in clang::Sema::BuildClassMessage(clang::TypeSourceInfo*,
clang::QualType, clang::SourceLocation, clang::Selector,
clang::ObjCMethodDecl*, clang::SourceLocation,
llvm::ArrayRef<clang::SourceLocation>, clang::SourceLocation,
llvm::MutableArrayRef<clang::Expr*>, bool)
/home/kcc/llvm/tools/clang/lib/Sema/SemaExprObjC.cpp:2117
    #6 0x4f61654 in clang::Sema::ActOnClassMessage(clang::Scope*,
clang::OpaquePtr<clang::QualType>, clang::Selector, clang::SourceLocation,
llvm::ArrayRef<clang::SourceLocation>, clang::SourceLocation,
llvm::MutableArrayRef<clang::Expr*>)
/home/kcc/llvm/tools/clang/lib/Sema/SemaExprObjC.cpp:2202
    #7 0x4553914 in
clang::Parser::ParseObjCMessageExpressionBody(clang::SourceLocation,
clang::SourceLocation, clang::OpaquePtr<clang::QualType>, clang::Expr*)
/home/kcc/llvm/tools/clang/lib/Parse/ParseObjc.cpp:2602
    #8 0x45514d6 in clang::Parser::ParseObjCMessageExpression()
/home/kcc/llvm/tools/clang/lib/Parse/ParseObjc.cpp:2344
    #9 0x44be0e9 in clang::Parser::ParseCastExpression(bool, bool, bool&,
clang::Parser::TypeCastState)
/home/kcc/llvm/tools/clang/lib/Parse/ParseExpr.cpp:1162
    #10 0x44ade32 in ParseCastExpression
/home/kcc/llvm/tools/clang/lib/Parse/ParseExpr.cpp:414
    #11 0x44ade32 in
clang::Parser::ParseAssignmentExpression(clang::Parser::TypeCastState)
/home/kcc/llvm/tools/clang/lib/Parse/ParseExpr.cpp:167
    #12 0x44adbed in
clang::Parser::ParseExpression(clang::Parser::TypeCastState)
/home/kcc/llvm/tools/clang/lib/Parse/ParseExpr.cpp:121
    #13 0x45510fb in clang::Parser::ParseObjCMessageExpression()
/home/kcc/llvm/tools/clang/lib/Parse/ParseObjc.cpp:2395
    #14 0x44be0e9 in clang::Parser::ParseCastExpression(bool, bool, bool&,
clang::Parser::TypeCastState)
/home/kcc/llvm/tools/clang/lib/Parse/ParseExpr.cpp:1162
    #15 0x44ade32 in ParseCastExpression
/home/kcc/llvm/tools/clang/lib/Parse/ParseExpr.cpp:414
    #16 0x44ade32 in
clang::Parser::ParseAssignmentExpression(clang::Parser::TypeCastState)
/home/kcc/llvm/tools/clang/lib/Parse/ParseExpr.cpp:167
    #17 0x44316fc in ParseInitializer
/home/kcc/llvm/tools/clang/include/clang/Parse/Parser.h:1520
    #18 0x44316fc in
clang::Parser::ParseDeclarationAfterDeclaratorAndAttributes(clang::Declarator&,
clang::Parser::ParsedTemplateInfo const&)
/home/kcc/llvm/tools/clang/lib/Parse/ParseDecl.cpp:1830
    #19 0x442a635 in clang::Parser::ParseDeclGroup(clang::ParsingDeclSpec&,
unsigned int, bool, clang::SourceLocation*, clang::Parser::ForRangeInit*)
/home/kcc/llvm/tools/clang/lib/Parse/ParseDecl.cpp:1623
    #20 0x441da55 in
clang::Parser::ParseSimpleDeclaration(llvm::SmallVector<clang::Stmt*, 32u>&,
unsigned int, clang::SourceLocation&,
clang::Parser::ParsedAttributesWithRange&, bool, clang::Parser::ForRangeInit*)
/home/kcc/llvm/tools/clang/lib/Parse/ParseDecl.cpp:1379
    #21 0x441d076 in
clang::Parser::ParseDeclaration(llvm::SmallVector<clang::Stmt*, 32u>&, unsigned
int, clang::SourceLocation&, clang::Parser::ParsedAttributesWithRange&)
/home/kcc/llvm/tools/clang/lib/Parse/ParseDecl.cpp:1308
    #22 0x457b6e0 in
clang::Parser::ParseStatementOrDeclarationAfterAttributes(llvm::SmallVector<clang::Stmt*,
32u>&, bool, clang::SourceLocation*, clang::Parser::ParsedAttributesWithRange&)
/home/kcc/llvm/tools/clang/lib/Parse/ParseStmt.cpp:221
    #23 0x45790d6 in
clang::Parser::ParseStatementOrDeclaration(llvm::SmallVector<clang::Stmt*,
32u>&, bool, clang::SourceLocation*)
/home/kcc/llvm/tools/clang/lib/Parse/ParseStmt.cpp:117
    #24 0x45948cd in clang::Parser::ParseCompoundStatementBody(bool)
/home/kcc/llvm/tools/clang/lib/Parse/ParseStmt.cpp:916
    #25 0x45a1abf in clang::Parser::ParseFunctionStatementBody(clang::Decl*,
clang::Parser::ParseScope&)
/home/kcc/llvm/tools/clang/lib/Parse/ParseStmt.cpp:2478
    #26 0x43e9f7f in
clang::Parser::ParseFunctionDefinition(clang::ParsingDeclarator&,
clang::Parser::ParsedTemplateInfo const&, clang::Parser::LateParsedAttrList*)
/home/kcc/llvm/tools/clang/lib/Parse/Parser.cpp:1097
    #27 0x442a0a8 in clang::Parser::ParseDeclGroup(clang::ParsingDeclSpec&,
unsigned int, bool, clang::SourceLocation*, clang::Parser::ForRangeInit*)
/home/kcc/llvm/tools/clang/lib/Parse/ParseDecl.cpp:1571
    #28 0x43e7863 in
clang::Parser::ParseDeclOrFunctionDefInternal(clang::Parser::ParsedAttributesWithRange&,
clang::ParsingDeclSpec&, clang::AccessSpecifier)
/home/kcc/llvm/tools/clang/lib/Parse/Parser.cpp:887
    #29 0x43e66b5 in
clang::Parser::ParseDeclarationOrFunctionDefinition(clang::Parser::ParsedAttributesWithRange&,
clang::ParsingDeclSpec*, clang::AccessSpecifier)
/home/kcc/llvm/tools/clang/lib/Parse/Parser.cpp:903
    #30 0x43e2ef9 in
clang::Parser::ParseExternalDeclaration(clang::Parser::ParsedAttributesWithRange&,
clang::ParsingDeclSpec*) /home/kcc/llvm/tools/clang/lib/Parse/Parser.cpp:761
    #31 0x43e0938 in
clang::Parser::ParseTopLevelDecl(clang::OpaquePtr<clang::DeclGroupRef>&)
/home/kcc/llvm/tools/clang/lib/Parse/Parser.cpp:558
    #32 0x43d3406 in clang::ParseAST(clang::Sema&, bool, bool)
/home/kcc/llvm/tools/clang/lib/Parse/ParseAST.cpp:145
    #33 0x290b44a in clang::FrontendAction::Execute()
/home/kcc/llvm/tools/clang/lib/Frontend/FrontendAction.cpp:388</pre>
        </div>
      </p>
      <hr>
      <span>You are receiving this mail because:</span>
      
      <ul>
          <li>You are on the CC list for the bug.</li>
      </ul>
    </body>
</html>