[PATCH] DebugInfo: Emit info for constant expressions in template arguments

David Blaikie dblaikie at gmail.com
Fri Aug 23 16:48:45 PDT 2013


Still not seeing any response to this \/

On Fri, Aug 23, 2013 at 4:13 PM, David Blaikie <dblaikie at gmail.com> wrote:
>
>
> ================
> Comment at: test/CodeGenCXX/debug-info-template.cpp:72
> @@ -71,1 +71,3 @@
>  // CHECK: [[TCNARG8]] = {{.*}}metadata !"Is", null, metadata [[EMPTY]], {{.*}} ; [ DW_TAG_GNU_template_parameter_pack ]
> +// CHECK: metadata [[TGI:![0-9]*]], i32 0, i32 1, %struct.tmpl_guid* @tgi, null} ; [ DW_TAG_variable ] [tgi]
> +// CHECK: [[TGIT:![0-9]*]] = {{.*}}, metadata [[TGIARGS:![0-9]*]]} ; [ DW_TAG_structure_type ] [tmpl_guid<&__uuidof(uuid)>]
> ----------------
> I thought I already gave this feedback somewhere/somehow:
>
> You're matching [[TGI]] but not using that - why?
> In fact, you could probably skip matching the TGI variable entirely and just focus on the template parameters - up to you, though. (If you are going to match the tgi DW_TAG_variable, you probably want to match the type field in it and make sure that matches up with the structure_type's metadata number below.
>
> ================
> Comment at: test/CodeGenCXX/debug-info-template.cpp:73
> @@ +72,3 @@
> +// CHECK: metadata [[TGI:![0-9]*]], i32 0, i32 1, %struct.tmpl_guid* @tgi, null} ; [ DW_TAG_variable ] [tgi]
> +// CHECK: [[TGIT:![0-9]*]] = {{.*}}, metadata [[TGIARGS:![0-9]*]]} ; [ DW_TAG_structure_type ] [tmpl_guid<&__uuidof(uuid)>]
> +// CHECK: [[TGIARGS]] = metadata !{metadata [[TGIARG1:![0-9]*]]}
> ----------------
> Also matching TGIT here without doing anything with it - if you're not going to crossreference that between here and the variable (hmm, perhaps that's it, you just meant the TGI variable to be TGIT, and this TGIT to be a non-capturing back-reference to the previous one?) then don't bother matching on it.
>
>
> http://llvm-reviews.chandlerc.com/D1453




More information about the cfe-commits mailing list