================
@@ -1897,7 +1897,35 @@ def CrossTURemarks : DiagGroup<"ctu-remarks">;
 
 def CTADMaybeUnsupported : DiagGroup<"ctad-maybe-unsupported">;
 
-def FortifySource : DiagGroup<"fortify-source", [FormatOverflow, 
FormatTruncation]>;
+def FortifySource : DiagGroup<"fortify-source", [FormatOverflow, 
FormatTruncation]> {
+  code Documentation = [{
+Warns at compile time when calls to standard C library or POSIX functions have
+provably out-of-bounds destination buffers or invalid constant arguments,
+modeled after 
[`_FORTIFY_SOURCE`](https://www.gnu.org/software/libc/manual/html_node/Source-Fortification.html)
----------------
AaronBallman wrote:

Totally fine to link to other docs, we do that pretty routinely for things like 
attributes. However, if our implementation deviates from those other docs, that 
should be spelled out explicitly. Also, we sometimes run into broken links from 
this and periodically need to find and fix those.

As for Shafik's request, he can clarify himself, but I took that to mean a 
dedicated section in the user's manual or a dedicated documentation page. The 
diagnostic reference documentation is often very concise and at some point we 
want to say a bit more than is likely to fit well there. That said, we might be 
able to start with documenting them in the diagnostic reference and then split 
out to a dedicated place once we have enough exposition to warrant it. Then 
again, the docs in this PR come awfully close already because my first thought 
when I looked at the changes was "do we have a Docs.td file for diagnostics so 
we can keep this out of DiagnosticGroups.td?" We do have DiagnosticDocs.td btw 
and I think we should probably move the documentation there if we don't decide 
to just go with a dedicated place up front.

https://github.com/llvm/llvm-project/pull/224111
_______________________________________________
cfe-commits mailing list
[email protected]
https://lists.llvm.org/cgi-bin/mailman/listinfo/cfe-commits

Reply via email to