r198699 - Debug info: Implement a cleaner version of r198461. For symmetry with

Eric Christopher echristo at gmail.com
Tue Jan 7 13:57:17 PST 2014


Thanks.

Can you add the diff between the two revisions at least to the thread here
so I can take an easier look? :)

Thanks!

-eric

On Tue Jan 07 2014 at 1:55:49 PM, Adrian Prantl <aprantl at apple.com> wrote:

>
> On Jan 7, 2014, at 13:50, Eric Christopher <echristo at gmail.com> wrote:
>
> >
> > On Tue Jan 07 2014 at 11:31:12 AM, Adrian Prantl <aprantl at apple.com>
> wrote:
> > Author: adrian
> > Date: Tue Jan  7 13:24:24 2014
> > New Revision: 198699
> >
> > URL: http://llvm.org/viewvc/llvm-project?rev=198699&view=rev
> > Log:
> > Debug info: Implement a cleaner version of r198461. For symmetry with
> > C and C++ don't emit an extra lexical scope for the compound statement
> > that is the body of an Objective-C method.
> >
> > rdar://problem/15010825
> >
> >
> > Next time it would be good if you could revert the previous patch so
> that we only have to examine your current changes.
>
> Sure, I can do that next time! Sorry for the extra confusion.
> >
> > I seem to recall your previous patch changed some C++ testcases and that
> your new patch hasn't changed them back. What's going on there? It may make
> sense to revert this and your previous patch and reapply with just the
> fixes needed for your objective c problem?
>
> The previous patch added a couple of scoping-related tests to the C++ test
> cases that were not there originally, and they are still valid.
>
> Modified: cfe/trunk/test/CodeGenCXX/linetable-cleanup.cpp
> URL: http://llvm.org/viewvc/llvm-project/cfe/trunk/test/
> CodeGenCXX/linetable-cleanup.cpp?rev=198461&r1=198460&r2=198461&view=diff
> ============================================================
> ==================
> --- cfe/trunk/test/CodeGenCXX/linetable-cleanup.cpp (original)
> +++ cfe/trunk/test/CodeGenCXX/linetable-cleanup.cpp Fri Jan  3 17:34:30
> 2014
> @@ -46,12 +46,14 @@ void bar()
> void baz()
> {
>   if (!foo())
> -    // CHECK: {{.*}} = metadata !{i32 [[@LINE+1]], i32 0, metadata
> !{{.*}}, null}
> +    // CHECK: ![[SCOPE1:.*]] = metadata !{{{.*}}, i32 [[@LINE-1]],
> {{.*}}} ; [ DW_TAG_lexical_block ]
> +    // CHECK: {{.*}} = metadata !{i32 [[@LINE+1]], i32 0, metadata
> ![[SCOPE1]], null}
>     return;
>
>   if (foo()) {
>     // no cleanup
> -    // CHECK: {{.*}} = metadata !{i32 [[@LINE+1]], i32 0, metadata
> !{{.*}}, null}
> +    // CHECK: {{.*}} = metadata !{i32 [[@LINE+2]], i32 0, metadata
> ![[SCOPE2:.*]], null}
> +    // CHECK: ![[SCOPE2]] = metadata !{{{.*}}, i32 [[@LINE-3]], {{.*}}} ;
> [ DW_TAG_lexical_block ]
>     return;
>   }
>   // CHECK: ![[RETBAZ]] = metadata !{i32 [[@LINE+1]], i32 0, metadata
> !{{.*}}, null}
>
> It tests that the two return stmts are indeed in two different lexical
> scopes.
>
> -- adrian
>
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.llvm.org/pipermail/cfe-commits/attachments/20140107/96aa982b/attachment.html>


More information about the cfe-commits mailing list