Thanks, Steve! I’m looking into replacing that line with
cxx_method_decl->addAttr(clang::UsedAttr::CreateImplicit(*m_clang_ast));
I’ll commit if that fixes it.
Sean
On Jan 16, 2014, at 8:20 AM, Steve Pucci <[email protected]> wrote:
> 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 <[email protected]>
> 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@199378
> 91177308-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
>
> _______________________________________________
> lldb-dev mailing list
> [email protected]
> http://lists.cs.uiuc.edu/mailman/listinfo/lldb-dev
_______________________________________________
lldb-dev mailing list
[email protected]
http://lists.cs.uiuc.edu/mailman/listinfo/lldb-dev