This bug reproduces for me every time using the Debug+Asserts build. In clang I 
build top of tree clang and just debug the "bin/clang" that was produced by 
stopped at main. 

$ ./lldb/build/DebugClang/lldb bin/clang
(lldb) target create "bin/clang"
Current executable set to 'bin/clang' (x86_64).
(lldb) b main
(lldb) r
(lldb) p errs() << "foo\n"
Assertion failed: ((data().DefaultedCopyConstructorIsDeleted || 
needsOverloadResolutionForCopyConstructor()) && "Copy constructor should not be 
deleted"), function setImplicitCopyConstructorIsDeleted, file 
/Users/gclayton/Documents/src/lldb/svn/clean/lldb/llvm/tools/clang/include/clang/AST/DeclCXX.h,
 line 1075.


In another window I attach to this LLDB and caught the abort:

(lldb) bt
* thread #1, queue = 'com.apple.main-thread', stop reason = breakpoint 1.3
  * frame #0: 0x00007fff6854c12f libsystem_c.dylib`abort
    frame #1: 0x00007fff685141ac libsystem_c.dylib`__assert_rtn + 320
    frame #2: 0x0000000113e581bf 
LLDB`clang::CXXRecordDecl::setImplicitCopyConstructorIsDeleted(this=0x00007fab911fcd08)
 at 
/Users/gclayton/Documents/src/lldb/svn/clean/lldb/llvm/tools/clang/include/clang/AST/DeclCXX.h:1073
    frame #3: 0x0000000113e403ec 
LLDB`clang::Sema::DeclareImplicitCopyConstructor(this=0x00007fab8e79ca00, 
ClassDecl=0x00007fab911fcd08) at 
/Users/gclayton/Documents/src/lldb/svn/clean/lldb/llvm/tools/clang/lib/Sema/SemaDeclCXX.cpp:12426
    frame #4: 0x0000000114224bb6 
LLDB`clang::Sema::LookupConstructors(this=0x00007fab8e79ca00, 
Class=0x00007fab911fcd08) at 
/Users/gclayton/Documents/src/lldb/svn/clean/lldb/llvm/tools/clang/lib/Sema/SemaLookup.cpp:3098
    frame #5: 0x000000011435fb1f 
LLDB`IsUserDefinedConversion(S=0x00007fab8e79ca00, From=0x00007fab8f4a4818, 
ToType=QualType @ 0x00007ffeee9b7b00, User=0x00007ffeee9b9840, 
CandidateSet=0x00007ffeee9b7c80, AllowExplicit=false, 
AllowObjCConversionOnExplicit=false) at 
/Users/gclayton/Documents/src/lldb/svn/clean/lldb/llvm/tools/clang/lib/Sema/SemaOverload.cpp:3338
    frame #6: 0x000000011439046b 
LLDB`TryUserDefinedConversion(S=0x00007fab8e79ca00, From=0x00007fab8f4a4818, 
ToType=QualType @ 0x00007ffeee9b7c78, SuppressUserConversions=false, 
AllowExplicit=false, InOverloadResolution=false, CStyle=false, 
AllowObjCWritebackConversion=false, AllowObjCConversionOnExplicit=false) at 
/Users/gclayton/Documents/src/lldb/svn/clean/lldb/llvm/tools/clang/lib/Sema/SemaOverload.cpp:1245
    frame #7: 0x00000001143596ad 
LLDB`TryImplicitConversion(S=0x00007fab8e79ca00, From=0x00007fab8f4a4818, 
ToType=QualType @ 0x00007ffeee9b9760, SuppressUserConversions=false, 
AllowExplicit=false, InOverloadResolution=false, CStyle=false, 
AllowObjCWritebackConversion=false, AllowObjCConversionOnExplicit=false) at 
/Users/gclayton/Documents/src/lldb/svn/clean/lldb/llvm/tools/clang/lib/Sema/SemaOverload.cpp:1377
    frame #8: 0x0000000114394f07 LLDB`TryReferenceInit(S=0x00007fab8e79ca00, 
Init=0x00007fab8f4a4818, DeclType=QualType @ 0x00007ffeee9b9a00, DeclLoc=(ID = 
1670), SuppressUserConversions=false, AllowExplicit=false) at 
/Users/gclayton/Documents/src/lldb/svn/clean/lldb/llvm/tools/clang/lib/Sema/SemaOverload.cpp:4684
    frame #9: 0x000000011436829d 
LLDB`TryCopyInitialization(S=0x00007fab8e79ca00, From=0x00007fab8f4a4818, 
ToType=QualType @ 0x00007ffeee9b9ac0, SuppressUserConversions=false, 
InOverloadResolution=true, AllowObjCWritebackConversion=false, 
AllowExplicit=false) at 
/Users/gclayton/Documents/src/lldb/svn/clean/lldb/llvm/tools/clang/lib/Sema/SemaOverload.cpp:5006
    frame #10: 0x0000000114366faf 
LLDB`clang::Sema::AddOverloadCandidate(this=0x00007fab8e79ca00, 
Function=0x00007fab8fe02b00, FoundDecl=(Ptr = 0x00007fab8fe02b03), 
Args=ArrayRef<clang::Expr *> @ 0x00007ffeee9b9e40, 
CandidateSet=0x00007ffeee9ba940, SuppressUserConversions=false, 
PartialOverloading=false, AllowExplicit=false, 
EarlyConversions=clang::ConversionSequenceList @ 0x00007ffeee9b9ea8) at 
/Users/gclayton/Documents/src/lldb/svn/clean/lldb/llvm/tools/clang/lib/Sema/SemaOverload.cpp:6088
    frame #11: 0x00000001143758a1 
LLDB`clang::Sema::AddArgumentDependentLookupCandidates(this=0x00007fab8e79ca00, 
Name=(Ptr = 0x00007fab8e794ba3), Loc=(ID = 1667), Args=ArrayRef<clang::Expr *> 
@ 0x00007ffeee9ba010, ExplicitTemplateArgs=0x0000000000000000, 
CandidateSet=0x00007ffeee9ba940, PartialOverloading=false) at 
/Users/gclayton/Documents/src/lldb/svn/clean/lldb/llvm/tools/clang/lib/Sema/SemaOverload.cpp:8911
    frame #12: 0x00000001143849d4 
LLDB`clang::Sema::CreateOverloadedBinOp(this=0x00007fab8e79ca00, OpLoc=(ID = 
1667), Opc=BO_Shl, Fns=0x00007ffeee9bc328, LHS=0x0000000000000000, 
RHS=0x0000000000000000, PerformADL=true) at 
/Users/gclayton/Documents/src/lldb/svn/clean/lldb/llvm/tools/clang/lib/Sema/SemaOverload.cpp:12390
    frame #13: 0x0000000113fce864 
LLDB`BuildOverloadedBinOp(S=0x00007fab8e79ca00, Sc=0x00007faba6021ac0, 
OpLoc=(ID = 1667), Opc=BO_Shl, LHS=0x00007fab8f4a4770, RHS=0x00007fab8f4a4818) 
at 
/Users/gclayton/Documents/src/lldb/svn/clean/lldb/llvm/tools/clang/lib/Sema/SemaExpr.cpp:12471
    frame #14: 0x0000000113fce62a 
LLDB`clang::Sema::BuildBinOp(this=0x00007fab8e79ca00, S=0x00007faba6021ac0, 
OpLoc=(ID = 1667), Opc=BO_Shl, LHSExpr=0x00007fab8f4a4770, 
RHSExpr=0x00007fab8f4a4818) at 
/Users/gclayton/Documents/src/lldb/svn/clean/lldb/llvm/tools/clang/lib/Sema/SemaExpr.cpp:12573
    frame #15: 0x0000000113f92b4a 
LLDB`clang::Sema::ActOnBinOp(this=0x00007fab8e79ca00, S=0x00007faba6021ac0, 
TokLoc=(ID = 1667), Kind=lessless, LHSExpr=0x00007fab8f4a4770, 
RHSExpr=0x00007fab8f4a4818) at 
/Users/gclayton/Documents/src/lldb/svn/clean/lldb/llvm/tools/clang/lib/Sema/SemaExpr.cpp:12436
    frame #16: 0x00000001124f9010 
LLDB`clang::Parser::ParseRHSOfBinaryExpression(this=0x00007fab8e7a3200, 
LHS=(PtrWithInvalid = 0x00007fab8f4a4770), MinPrec=Assignment) at 
/Users/gclayton/Documents/src/lldb/svn/clean/lldb/llvm/tools/clang/lib/Parse/ParseExpr.cpp:504
    frame #17: 0x00000001124f73b1 
LLDB`clang::Parser::ParseAssignmentExpression(this=0x00007fab8e7a3200, 
isTypeCast=NotTypeCast) at 
/Users/gclayton/Documents/src/lldb/svn/clean/lldb/llvm/tools/clang/lib/Parse/ParseExpr.cpp:175
    frame #18: 0x00000001124f726f 
LLDB`clang::Parser::ParseExpression(this=0x00007fab8e7a3200, 
isTypeCast=NotTypeCast) at 
/Users/gclayton/Documents/src/lldb/svn/clean/lldb/llvm/tools/clang/lib/Parse/ParseExpr.cpp:124
    frame #19: 0x000000011257731b 
LLDB`clang::Parser::ParseExprStatement(this=0x00007fab8e7a3200) at 
/Users/gclayton/Documents/src/lldb/svn/clean/lldb/llvm/tools/clang/lib/Parse/ParseStmt.cpp:418
    frame #20: 0x000000011257580f 
LLDB`clang::Parser::ParseStatementOrDeclarationAfterAttributes(this=0x00007fab8e7a3200,
 Stmts=0x00007ffeee9bdc70, Allowed=ACK_Any, TrailingElseLoc=0x0000000000000000, 
Attrs=0x00007ffeee9bd928) at 
/Users/gclayton/Documents/src/lldb/svn/clean/lldb/llvm/tools/clang/lib/Parse/ParseStmt.cpp:224
    frame #21: 0x0000000112574e40 
LLDB`clang::Parser::ParseStatementOrDeclaration(this=0x00007fab8e7a3200, 
Stmts=0x00007ffeee9bdc70, Allowed=ACK_Any, TrailingElseLoc=0x0000000000000000) 
at 
/Users/gclayton/Documents/src/lldb/svn/clean/lldb/llvm/tools/clang/lib/Parse/ParseStmt.cpp:110
    frame #22: 0x000000011257d82d 
LLDB`clang::Parser::ParseCompoundStatementBody(this=0x00007fab8e7a3200, 
isStmtExpr=false) at 
/Users/gclayton/Documents/src/lldb/svn/clean/lldb/llvm/tools/clang/lib/Parse/ParseStmt.cpp:997
    frame #23: 0x000000011257e5b9 
LLDB`clang::Parser::ParseFunctionStatementBody(this=0x00007fab8e7a3200, 
Decl=0x00007fab8e7b5ec0, BodyScope=0x00007ffeee9be140) at 
/Users/gclayton/Documents/src/lldb/svn/clean/lldb/llvm/tools/clang/lib/Parse/ParseStmt.cpp:1971
    frame #24: 0x00000001125a4368 
LLDB`clang::Parser::ParseFunctionDefinition(this=0x00007fab8e7a3200, 
D=0x00007ffeee9be788, TemplateInfo=0x00007ffeee9be5e0, 
LateParsedAttrs=0x00007ffeee9be6e8) at 
/Users/gclayton/Documents/src/lldb/svn/clean/lldb/llvm/tools/clang/lib/Parse/Parser.cpp:1246
    frame #25: 0x00000001124b12e3 
LLDB`clang::Parser::ParseDeclGroup(this=0x00007fab8e7a3200, 
DS=0x00007ffeee9bf0a0, Context=FileContext, DeclEnd=0x0000000000000000, 
FRI=0x0000000000000000) at 
/Users/gclayton/Documents/src/lldb/svn/clean/lldb/llvm/tools/clang/lib/Parse/ParseDecl.cpp:1968
    frame #26: 0x00000001125a2e93 
LLDB`clang::Parser::ParseDeclOrFunctionDefInternal(this=0x00007fab8e7a3200, 
attrs=0x00007ffeee9bf6b0, DS=0x00007ffeee9bf0a0, AS=AS_none) at 
/Users/gclayton/Documents/src/lldb/svn/clean/lldb/llvm/tools/clang/lib/Parse/Parser.cpp:1015
    frame #27: 0x00000001125a2420 
LLDB`clang::Parser::ParseDeclarationOrFunctionDefinition(this=0x00007fab8e7a3200,
 attrs=0x00007ffeee9bf6b0, DS=0x0000000000000000, AS=AS_none) at 
/Users/gclayton/Documents/src/lldb/svn/clean/lldb/llvm/tools/clang/lib/Parse/Parser.cpp:1031
    frame #28: 0x00000001125a0f88 
LLDB`clang::Parser::ParseExternalDeclaration(this=0x00007fab8e7a3200, 
attrs=0x00007ffeee9bf6b0, DS=0x0000000000000000) at 
/Users/gclayton/Documents/src/lldb/svn/clean/lldb/llvm/tools/clang/lib/Parse/Parser.cpp:856
    frame #29: 0x000000011259f986 
LLDB`clang::Parser::ParseTopLevelDecl(this=0x00007fab8e7a3200, 
Result=0x00007ffeee9bf800) at 
/Users/gclayton/Documents/src/lldb/svn/clean/lldb/llvm/tools/clang/lib/Parse/Parser.cpp:610
    frame #30: 0x000000011248b844 LLDB`clang::ParseAST(S=0x00007fab8e79ca00, 
PrintStats=false, SkipFunctionBodies=false) at 
/Users/gclayton/Documents/src/lldb/svn/clean/lldb/llvm/tools/clang/lib/Parse/ParseAST.cpp:158
    frame #31: 0x000000011248b32f LLDB`clang::ParseAST(PP=0x00007fab8e758818, 
Consumer=0x00007faba601dbc0, Ctx=0x00007fab8e790800, PrintStats=false, 
TUKind=TU_Complete, CompletionConsumer=0x0000000000000000, 
SkipFunctionBodies=false) at 
/Users/gclayton/Documents/src/lldb/svn/clean/lldb/llvm/tools/clang/lib/Parse/ParseAST.cpp:111
    frame #32: 0x0000000114def593 
LLDB`lldb_private::ClangExpressionParser::Parse(this=0x00007ffeee9c0b80, 
diagnostic_manager=0x00007ffeee9c16f0) at 
/Users/gclayton/Documents/src/lldb/svn/clean/lldb/source/Plugins/ExpressionParser/Clang/ClangExpressionParser.cpp:610
    frame #33: 0x0000000114e08479 
LLDB`lldb_private::ClangUserExpression::Parse(this=0x00007faba53a6280, 
diagnostic_manager=0x00007ffeee9c16f0, exe_ctx=0x00007ffeee9c2520, 
execution_policy=eExecutionPolicyOnlyWhenNeeded, keep_result_in_memory=true, 
generate_debug_info=false) at 
/Users/gclayton/Documents/src/lldb/svn/clean/lldb/source/Plugins/ExpressionParser/Clang/ClangUserExpression.cpp:495
    frame #34: 0x0000000115393045 
LLDB`lldb_private::UserExpression::Evaluate(exe_ctx=0x00007ffeee9c2520, 
options=0x00007ffeee9c2c50, expr=<17>: "errs() << \"foo\\n\"", prefix=<0>: "", 
result_valobj_sp=0x00007ffeee9c2960, error=0x00007ffeee9c24a0, 
line_offset=0x00000000, fixed_expression="", 
jit_module_sp_ptr=0x0000000000000000) at 
/Users/gclayton/Documents/src/lldb/svn/clean/lldb/source/Expression/UserExpression.cpp:237
    frame #35: 0x00000001156448f9 
LLDB`lldb_private::Target::EvaluateExpression(this=0x00007fab9e809400, 
expr=<17>: "errs() << \"foo\\n\"", exe_scope=0x00007faba30de820, 
result_valobj_sp=0x00007ffeee9c2960, options=0x00007ffeee9c2c50, 
fixed_expression="") at 
/Users/gclayton/Documents/src/lldb/svn/clean/lldb/source/Target/Target.cpp:2328
    frame #36: 0x00000001149343a5 
LLDB`lldb_private::CommandObjectExpression::EvaluateExpression(this=0x00007fab9be38bd0,
 expr=<17>: "errs() << \"foo\\n\"", output_stream=0x00007ffeee9c5650, 
error_stream=0x00007ffeee9c56f8, result=0x00007ffeee9c5650) at 
/Users/gclayton/Documents/src/lldb/svn/clean/lldb/source/Commands/CommandObjectExpression.cpp:377
    frame #37: 0x0000000114936e6e 
LLDB`lldb_private::CommandObjectExpression::DoExecute(this=0x00007fab9be38bd0, 
command=<20>: "-- errs() << \"foo\\n\"", result=0x00007ffeee9c5650) at 
/Users/gclayton/Documents/src/lldb/svn/clean/lldb/source/Commands/CommandObjectExpression.cpp:594
    frame #38: 0x0000000114fcbf76 
LLDB`lldb_private::CommandObjectRaw::Execute(this=0x00007fab9be38bd0, 
args_string="-- errs() << \"foo\\n\"", result=0x00007ffeee9c5650) at 
/Users/gclayton/Documents/src/lldb/svn/clean/lldb/source/Interpreter/CommandObject.cpp:1000
    frame #39: 0x0000000114f8317b 
LLDB`lldb_private::CommandInterpreter::HandleCommand(this=0x00007fab9be309a0, 
command_line="p errs() << \"foo\\n\"", lazy_add_to_history=eLazyBoolCalculate, 
result=0x00007ffeee9c5650, override_context=0x0000000000000000, 
repeat_on_empty_command=true, no_context_switching=false) at 
/Users/gclayton/Documents/src/lldb/svn/clean/lldb/source/Interpreter/CommandInterpreter.cpp:1695
    frame #40: 0x0000000114f8f62d 
LLDB`lldb_private::CommandInterpreter::IOHandlerInputComplete(this=0x00007fab9be309a0,
 io_handler=0x00007fab9d911110, line="p errs() << \"foo\\n\"") at 
/Users/gclayton/Documents/src/lldb/svn/clean/lldb/source/Interpreter/CommandInterpreter.cpp:2696
    frame #41: 0x0000000115027b02 
LLDB`lldb_private::IOHandlerEditline::Run(this=0x00007fab9d911110) at 
/Users/gclayton/Documents/src/lldb/svn/clean/lldb/source/Core/IOHandler.cpp:566
    frame #42: 0x0000000114ae5012 
LLDB`lldb_private::Debugger::ExecuteIOHandlers(this=0x00007fab9be301f0) at 
/Users/gclayton/Documents/src/lldb/svn/clean/lldb/source/Core/Debugger.cpp:976
    frame #43: 0x0000000114f90d7f 
LLDB`lldb_private::CommandInterpreter::RunCommandInterpreter(this=0x00007fab9be309a0,
 auto_handle_events=true, spawn_thread=false, options=0x00007ffeee9c5ba0) at 
/Users/gclayton/Documents/src/lldb/svn/clean/lldb/source/Interpreter/CommandInterpreter.cpp:2896
    frame #44: 0x000000010d7c31d6 
LLDB`lldb::SBDebugger::RunCommandInterpreter(this=0x00007ffeee9c65b0, 
auto_handle_events=true, spawn_thread=false) at 
/Users/gclayton/Documents/src/lldb/svn/clean/lldb/source/API/SBDebugger.cpp:923
    frame #45: 0x00000001012437c2 
lldb`Driver::MainLoop(this=0x00007ffeee9c6590) at 
/Users/gclayton/Documents/src/lldb/svn/clean/lldb/tools/driver/Driver.cpp:1162
    frame #46: 0x00000001012440ab lldb`main(argc=2, argv=0x00007ffeee9c6768) at 
/Users/gclayton/Documents/src/lldb/svn/clean/lldb/tools/driver/Driver.cpp:1267
    frame #47: 0x00007fff684a0015 libdyld.dylib`start + 1
    frame #48: 0x00007fff684a0015 libdyld.dylib`start + 1


_______________________________________________
lldb-dev mailing list
lldb-dev@lists.llvm.org
http://lists.llvm.org/cgi-bin/mailman/listinfo/lldb-dev

Reply via email to