It’s either XFAIL or rewriting the .exp files a little, yes. -- adrian
On Jun 17, 2013, at 5:31 PM, Eric Christopher <[email protected]> wrote: > On Mon, Jun 17, 2013 at 5:27 PM, Adrian Prantl <[email protected]> wrote: >> Author: adrian >> Date: Mon Jun 17 19:27:36 2013 >> New Revision: 184157 >> >> URL: http://llvm.org/viewvc/llvm-project?rev=184157&view=rev >> Log: >> Remove an ugly hack that was meant to eliminate the breakpoint ambiguity >> between a block assignment and the entry of the block function. In reality >> this wouldn't work anyway because blocks are predominantly created >> on-the-fly inside of an ObjC method invocation. >> The proper fix for the ambiguity is to use -gcolumn-info to differentiate >> the breakpoints. >> >> This is expected to break some block-related darwin-gdb tests. >> > > Should probably either mark them as expected failures or use > -gcolumn-info on the 4.2 testsuite bots? > > -eric > >> rdar://problem/14039866 >> >> Added: >> cfe/trunk/test/CodeGen/debug-info-block-decl.c >> Modified: >> cfe/trunk/lib/CodeGen/CGStmt.cpp >> >> Modified: cfe/trunk/lib/CodeGen/CGStmt.cpp >> URL: >> http://llvm.org/viewvc/llvm-project/cfe/trunk/lib/CodeGen/CGStmt.cpp?rev=184157&r1=184156&r2=184157&view=diff >> ============================================================================== >> --- cfe/trunk/lib/CodeGen/CGStmt.cpp (original) >> +++ cfe/trunk/lib/CodeGen/CGStmt.cpp Mon Jun 17 19:27:36 2013 >> @@ -34,10 +34,7 @@ using namespace CodeGen; >> void CodeGenFunction::EmitStopPoint(const Stmt *S) { >> if (CGDebugInfo *DI = getDebugInfo()) { >> SourceLocation Loc; >> - if (isa<DeclStmt>(S)) >> - Loc = S->getLocEnd(); >> - else >> - Loc = S->getLocStart(); >> + Loc = S->getLocStart(); >> DI->EmitLocation(Builder, Loc); >> >> LastStopPoint = Loc; >> >> Added: cfe/trunk/test/CodeGen/debug-info-block-decl.c >> URL: >> http://llvm.org/viewvc/llvm-project/cfe/trunk/test/CodeGen/debug-info-block-decl.c?rev=184157&view=auto >> ============================================================================== >> --- cfe/trunk/test/CodeGen/debug-info-block-decl.c (added) >> +++ cfe/trunk/test/CodeGen/debug-info-block-decl.c Mon Jun 17 19:27:36 2013 >> @@ -0,0 +1,19 @@ >> +// RUN: %clang_cc1 -triple x86_64-apple-darwin10 -g -fblocks -emit-llvm -o >> - %s | FileCheck %s >> +// Assignment and block entry should point to the same line. >> +// rdar://problem/14039866 >> + >> +// CHECK: define{{.*}}@main() >> +// CHECK: store{{.*}}bitcast{{.*}}, !dbg ![[ASSIGNMENT:[0-9]+]] >> +// CHECK: define {{.*}} @__main_block_invoke >> +// CHECK: dbg ![[BLOCK_ENTRY:[0-9]+]] >> + >> +int main() >> +{ >> +// CHECK: [[ASSIGNMENT]] = metadata !{i32 [[@LINE+2]], >> +// CHECK: [[BLOCK_ENTRY]] = metadata !{i32 [[@LINE+1]], >> + int (^blockptr)(void) = ^(void) { >> + return 0; >> + }; >> + return blockptr(); >> +} >> + >> >> >> _______________________________________________ >> cfe-commits mailing list >> [email protected] >> http://lists.cs.uiuc.edu/mailman/listinfo/cfe-commits _______________________________________________ cfe-commits mailing list [email protected] http://lists.cs.uiuc.edu/mailman/listinfo/cfe-commits
