Displaying 9 results from an estimated 9 matches for "cxxrecorddecl".
2013 Sep 05
0
[LLVMdev] [ast-dump] Class template partial specializations missing from an implicit class template instantiation?
...lt;float>::Inner<int*> ii;
ii.f();
Outer<float>::Inner<int> i2;
i2.f();
}
The tree looks as expected for the template:
|-ClassTemplateDecl 0x38e1de0 <test-src/main.cpp:1:2, line:5:2> Outer
| |-TemplateTypeParmDecl 0x38e1ca0 <line:1:11, col:20> typename T
| |-CXXRecordDecl 0x38e1d50 <line:2:2, line:5:2> struct Outer definition
| | |-CXXRecordDecl 0x390eab0 <line:2:2, col:9> struct Outer
| | |-ClassTemplateDecl 0x390ec80 <line:3:4, col:51> Inner
| | | |-TemplateTypeParmDecl 0x390eb40 <col:13, col:22> typename U
| | | `-CXXRecordDecl 0x390ebf0 &...
2018 Jun 15
2
[lldb-dev] Adding DWARF5 accelerator table support to llvm
...class A {
>> A();
>> };
>>
>
> I think it would be more instructive to think about a case where
> main.cpp had Foo<int> and foo.cpp had Foo<double>.
Any difference is the problem here for clang ASTs, so it just matters that they are different. We make a CXXRecordDecl in the clang AST and if we see even one specialization, then we add the generic version to the CXXRecordDecl and we are good to go. So the main.cpp had Foo<int> and foo.cpp had Foo<double> is actually fine. If I make a CXXRecordDecl from either of these then the two definitions match si...
2013 Feb 08
2
[LLVMdev] assert when mixing static and non-static members with an external AST source
...0x00007ffff436b0ff in lldb_private::ClangASTSource::ClangASTSourceProxy::layoutRecordType(clang::RecordDecl const*, unsigned long&, unsigned long&, llvm::DenseMap<clang::FieldDecl const*, unsigned long, llvm::DenseMapInfo<clang::FieldDecl const*> >&, llvm::DenseMap<clang::CXXRecordDecl const*, clang::CharUnits, llvm::DenseMapInfo<clang::CXXRecordDecl const*> >&, llvm::DenseMap<clang::CXXRecordDecl const*, clang::CharUnits, llvm::DenseMapInfo<clang::CXXRecordDecl const*> >&) ()
from /home/athirumurthi/git/lldb/install/bin/../lib/liblldb.so
#11 0x000...
2018 Jun 15
2
[lldb-dev] Adding DWARF5 accelerator table support to llvm
...gt;>>
>>> I think it would be more instructive to think about a case where
>>> main.cpp had Foo<int> and foo.cpp had Foo<double>.
>>
>> Any difference is the problem here for clang ASTs, so it just matters that
>> they are different. We make a CXXRecordDecl in the clang AST and if we see
>> even one specialization, then we add the generic version to the
>> CXXRecordDecl and we are good to go. So the main.cpp had Foo<int> and
>> foo.cpp had Foo<double> is actually fine. If I make a CXXRecordDecl from
>> either of the...
2013 Feb 15
0
[LLVMdev] assert when mixing static and non-static members with an external AST source
...0x00007ffff436b0ff in lldb_private::ClangASTSource::ClangASTSourceProxy::layoutRecordType(clang::RecordDecl const*, unsigned long&, unsigned long&, llvm::DenseMap<clang::FieldDecl const*, unsigned long, llvm::DenseMapInfo<clang::FieldDecl const*> >&, llvm::DenseMap<clang::CXXRecordDecl const*, clang::CharUnits, llvm::DenseMapInfo<clang::CXXRecordDecl const*> >&, llvm::DenseMap<clang::CXXRecordDecl const*, clang::CharUnits, llvm::DenseMapInfo<clang::CXXRecordDecl const*> >&) ()
from /home/athirumurthi/git/lldb/install/bin/../lib/liblldb.so
#11 0x000...
2018 Jun 15
2
[lldb-dev] Adding DWARF5 accelerator table support to llvm
To elaborate a bit more on the issue that is detailed in https://reviews.llvm.org/rL260308:
There are many clang AST contexts that are used in LLDB:
- one for each lldb_private::Module that contains type definitions as we know them in the module and its symbol vendor
- one for each expression
- one for results of expressions in the lldb_private::Target
As we run expressions we end up copying
2011 Feb 11
0
[LLVMdev] Compiler error when self-hosting
...const&) + 6550
19 clang 0x00000001001ead35
clang::BackendConsumer::HandleTranslationUnit(clang::ASTContext&) + 261
20 clang 0x0000000100208358
clang::ABIArgInfo::setCoerceToType(llvm::Type const*) + 952
21 clang 0x00000001001ea05e llvm::DenseMap<clang::CXXRecordDecl
const*, long long, llvm::DenseMapInfo<clang::CXXRecordDecl const*>,
llvm::DenseMapInfo<long long> >::grow(unsigned int) + 3326
22 clang 0x0000000100054fb0 std::_Deque_base<std::string,
std::allocator<std::string> >::_M_initialize_map(unsigned long) + 2864
23 c...
2016 Apr 01
0
[cfe-dev] RFC: Up front type information generation in clang and llvm
...!= TypeCache.end() && !cast<llvm::DIType>(I->second)->isForwardDecl())
- return;
- llvm::DIType *Res = CreateTypeDefinition(Ty->castAs<RecordType>());
- assert(!Res->isForwardDecl());
- TypeCache[TyPtr].reset(Res);
}
static bool hasExplicitMemberDefinition(CXXRecordDecl::method_iterator I,
@@ -2169,6 +2159,9 @@ llvm::DIType *CGDebugInfo::getTypeOrNull(QualType Ty) {
// Unwrap the type as needed for debug information.
Ty = UnwrapTypeForDebugInfo(Ty, CGM.getContext());
+ if (Ty->getTypeClass() != Type::FunctionProto && Ty->getTypeClass() != Ty...
2016 Mar 30
5
[cfe-dev] RFC: Up front type information generation in clang and llvm
On Tue, Mar 29, 2016 at 11:20 PM Robinson, Paul <
Paul_Robinson at playstation.sony.com> wrote:
> Skipping a serialization and doing something clever about LTO uniquing
> sounds awesome. I'm guessing you achieve this by extracting types out of
> DI metadata and packaging them as lumps-o-DWARF that the back-end can then
> paste together? Reading between the lines a bit