http://llvm.org/bugs/show_bug.cgi?id=13154
Bug #: 13154
Summary: Segfault in constructor when initializing a reference
inside an anonymous struct (at runtime)
Product: clang
Version: 3.0
Platform: Macintosh
OS/Version: MacOS X
Status: NEW
Severity: release blocker
Priority: P
Component: C++
AssignedTo: [email protected]
ReportedBy: [email protected]
CC: [email protected], [email protected]
Classification: Unclassified
Created attachment 8731
--> http://llvm.org/bugs/attachment.cgi?id=8731
The code that segfaults when run
I've attached the code that crashes with segfault when run. If you comment out
the struct, you'll see that it's working fine without it.
When I run the code under lldb, it stops with
stop reason = EXC_BAD_ACCESS (code=1, address=0x0)
Similar behavior can also be observed on iOS (armv6).
struct VectorTest{
//*
struct {
float &x;
};
/*/
float &x;
//*/
VectorTest(float &x);
};
VectorTest::VectorTest(float &xx)
: x(xx)
{}
int main(int argc, const char *argv[])
{
float x = 13;
VectorTest _t(x);
return 0;
}
I've also attached a diff of the generated assembly for both cases (with and
without struct) obtained with this invocation:
clang -S llvm-test.cpp -o <filename>
---
Tested on two clang versions:
λ /usr/local/bin/clang --version
clang version 3.0 (tags/RELEASE_30/final)
Target: x86_64-apple-darwin11.4.0
Thread model: posix
λ clang --version
Apple clang version 3.1 (tags/Apple/clang-318.0.61) (based on LLVM 3.1svn)
Target: x86_64-apple-darwin11.4.0
Thread model: posix
--
Configure bugmail: http://llvm.org/bugs/userprefs.cgi?tab=email
------- You are receiving this mail because: -------
You are on the CC list for the bug.
_______________________________________________
LLVMbugs mailing list
[email protected]
http://lists.cs.uiuc.edu/mailman/listinfo/llvmbugs