[lldb-dev] lldb build broken by clang update

Steve Pucci spucci at google.com
Thu Jan 16 08:20:12 PST 2014


The lldb top-of-tree currently fails with an error adding a Clang
attribute.  It appears to be a result of this Clang change yesterday (my
emphasis):



* 5914278..: Aaron Ballman 2014-01-16 Distinguish between attributes
explicitly written at the request of the user, and attributes implicitly
generated to assist in bookkeeping by the compiler. This is done so by
table generating a CreateImplicit method for each attribute.
  commit 591427889ead8b7c4c3211ef8cc55a9501eac064
  Author: Aaron Ballman <aaron at aaronballman.com>
  Date:   Thu Jan 16 13:03:14 2014 +0000

  Distinguish between attributes explicitly written at the request of the
user, and attributes implicitly generated to assist in bookkeeping by the
compiler. This is done so by table generating a CreateImplicit method for
each attribute.

 * Additionally, remove the optional nature of the spelling list index when
creating attributes. This is supported by table generating a Spelling
enumeration when the spellings for an attribute are distinct enough to
warrant it.*

  git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@19937891177308-0d34-0410-b5e6-96231b3b80d8



The error is attached.  I'm not sure how to get the new spelling list
parameter (it's available as attribute_list.getAttributeSpellingListIndex()
if the right attribute list is handy) or if one of the other candidates
will work instead.

Thanks,
  Steve

/usr/local/google/home/spucci/lldb/work2/llvm/tools/lldb/source/Symbol/ClangASTType.cpp:
In member function ‘clang::CXXMethodDecl*
lldb_private::ClangASTType::AddMethodToCXXRecordType(const char*, const
lldb_private::ClangASTType&, lldb::AccessType, bool, bool, bool, bool,
bool, bool)’:
/usr/local/google/home/spucci/lldb/work2/llvm/tools/lldb/source/Symbol/ClangASTType.cpp:4748:79:
error: no matching function for call to
‘clang::UsedAttr::UsedAttr(clang::SourceRange, clang::ASTContext&)’
         cxx_method_decl->addAttr(::new (*m_ast) UsedAttr(SourceRange(),
*m_ast));

   ^
/usr/local/google/home/spucci/lldb/work2/llvm/tools/lldb/source/Symbol/ClangASTType.cpp:4748:79:
note: candidates are:
In file included from
/usr/local/google/home/spucci/lldb/work2/llvm/tools/clang/include/clang/AST/Attr.h:144:0,
                 from
/usr/local/google/home/spucci/lldb/work2/llvm/tools/lldb/source/Symbol/ClangASTType.cpp:16:
/usr/local/google/home/spucci/lldb/work2/build/tools/clang/include/clang/AST/Attrs.inc:5187:3:
note: clang::UsedAttr::UsedAttr(clang::SourceRange, clang::ASTContext&,
unsigned int)
   UsedAttr(SourceRange R, ASTContext &Ctx
   ^
/usr/local/google/home/spucci/lldb/work2/build/tools/clang/include/clang/AST/Attrs.inc:5187:3:
note:   candidate expects 3 arguments, 2 provided
/usr/local/google/home/spucci/lldb/work2/build/tools/clang/include/clang/AST/Attrs.inc:5178:7:
note: constexpr clang::UsedAttr::UsedAttr(const clang::UsedAttr&)
 class UsedAttr : public InheritableAttr {
       ^
/usr/local/google/home/spucci/lldb/work2/build/tools/clang/include/clang/AST/Attrs.inc:5178:7:
note:   candidate expects 1 argument, 2 provided
/usr/local/google/home/spucci/lldb/work2/build/tools/clang/include/clang/AST/Attrs.inc:5178:7:
note: constexpr clang::UsedAttr::UsedAttr(clang::UsedAttr&&)
/usr/local/google/home/spucci/lldb/work2/build/tools/clang/include/clang/AST/Attrs.inc:5178:7:
note:   candidate expects 1 argument, 2 provided
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.llvm.org/pipermail/lldb-dev/attachments/20140116/12d9b67d/attachment.html>


More information about the lldb-dev mailing list