[PATCH] D19567: PR21823: 'nodebug' attribute on global/static variables

Paul Robinson via cfe-commits cfe-commits at lists.llvm.org
Wed Apr 27 09:50:11 PDT 2016


probinson added inline comments.

================
Comment at: include/clang/Basic/Attr.td:976
@@ -975,3 +975,3 @@
   let Spellings = [GCC<"nodebug">];
-  let Documentation = [Undocumented];
+  let Documentation = [NoDebugDocs];
 }
----------------
aaron.ballman wrote:
> This isn't your problem to fix (though I would not complain if you did fix it!), but the lack of a Subjects line should be fixed at some point.
Okay.... I think that's more invasive than I want to be right now.
But I'm anticipating expanding the attribute to non-global variables, in which case adding the appropriate Subjects line could be the way to go.


================
Comment at: test/CodeGenCXX/debug-info-nodebug.cpp:17
@@ +16,3 @@
+// YESINFO-DAG: !DIGlobalVariable(name: "global_int_def"
+// NOINFO-NOT:  !DIGlobalVariable(name: "global_int_def"
+
----------------
aprantl wrote:
> I don't think you can chain to -NOT checks like that. You may need to run FileCheck once times for each negative check.
The YESINFO checks are done in one run, the NOINFO checks are done in another run.  So I'm not mixing -DAG with -NOT, which certainly doesn't have a sensible effect.
However, a sequence of -NOT checks will verify that none of the specified patterns appear in the range.  In this test, all the NOINFO checks are -NOT so they all cover the entire output file. (And I know it works, because I missed one place in CGDebugInfo.cpp and the test caught it!)


http://reviews.llvm.org/D19567





More information about the cfe-commits mailing list