[lldb-dev] [Bug 15591] New: ASSERT when building record layout for anonymous structures.
bugzilla-daemon at llvm.org
bugzilla-daemon at llvm.org
Mon Mar 25 13:30:46 PDT 2013
http://llvm.org/bugs/show_bug.cgi?id=15591
Bug ID: 15591
Summary: ASSERT when building record layout for anonymous
structures.
Product: lldb
Version: unspecified
Hardware: PC
OS: Linux
Status: NEW
Severity: normal
Priority: P
Component: All Bugs
Assignee: lldb-dev at cs.uiuc.edu
Reporter: samueldotj at gmail.com
Classification: Unclassified
Assertion failure in lldb:
llvm/tools/clang/lib/AST/RecordLayoutBuilder.cpp:2271: uint64_t <anonymous
namespace>::RecordLayoutBuilder::updateExternalFieldOffset(const
clang::FieldDecl *, uint64_t): Assertion `ExternalFieldOffsets.find(Field) !=
ExternalFieldOffsets.end() && "Field does not have an external offset"' failed.
Aborted (core dumped)
I am able to reproduce the problem with the following program.
$ cat test.c
typedef struct {
int dummy;
}type_y;
typedef struct {
type_y y;
}type_z;
int main(int argc, char *argv[])
{
type_z *z = 0;
return 0;
}
$ gcc -O0 -g3 ./test.c
$ lldb a.out
Current executable set to 'a.out' (x86_64).
(lldb) p *((type_z *)0)
lldb: llvm/tools/clang/lib/AST/RecordLayoutBuilder.cpp:2271: uint64_t
<anonymous namespace>::RecordLayoutBuilder::updateExternalFieldOffset(const
clang::FieldDecl *, uint64_t): Assertion `ExternalFieldOffsets.find(Field) !=
ExternalFieldOffsets.end() && "Field does not have an external offset"' failed.
--
You are receiving this mail because:
You are the assignee for the bug.
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.llvm.org/pipermail/lldb-dev/attachments/20130325/cca3a2ce/attachment.html>
More information about the lldb-dev
mailing list