dblaikie added a comment.

In D141451#4312256 <https://reviews.llvm.org/D141451#4312256>, @aaron.ballman 
wrote:

> In D141451#4311199 <https://reviews.llvm.org/D141451#4311199>, @dblaikie 
> wrote:
>
>>> probably too much, but then I wonder "how do we make Fortify work?".
>>
>> (I'm still sort of on the side of "if the compile-time costs to get more 
>> verbose diagnostics is high, we could have a low-quality default-on 
>> diagnostic and it could mention/recommend a different/high 
>> quality/compile-time costly diagnostic" so for code bases like the Linux 
>> kernel that rely on this sort of thing a lot, with lots of always_inlining, 
>> etc, they can tradeoff toward the better diagnostic experience and codebases 
>> that don't use these features much they can still get the checking for when 
>> it does come up, but at some cost of quality/awkwardness in needing to 
>> rebuild with other flags)
>
> This isn't about verbosity of the diagnostics, though, so much as it's about 
> user experience. I'd agree that enabling more verbose diagnostic checking is 
> reasonable to ask users to opt into, but what I'm struggling with is 
> expecting users to opt into a mode so that the diagnostics appear in the 
> correct places instead of detached from the source they're noting. Also, with 
> the `error` and `warning` attributes both being used by glibc (and not just 
> for fortify source, but as a general part of the interface), I think this is 
> broader than just inlining decision notes.
>
>> But if folks decided some more invasive tracking was worth implementing 
>> (alongside the debug info codepath that already exists but is perhaps too 
>> slow to be always on) I wouldn't get up on a soapbox to strenuously object - 
>> I just think it's a bit unfortunate to build a duplicate thing, but maybe 
>> necessary.
>
> Agreed on the unfortunateness of duplicating functionality; if we can avoid 
> that, it'd be best. But I'm not sure we have more ideas on how to accomplish 
> it, either.

Fair enough. Well, hopefully somewhere in the summary of all this is a perf 
comparison - between the most narrowed down option using the existing DebugLocs 
and this new/distinct tracking system. But guess it's going that way.


Repository:
  rG LLVM Github Monorepo

CHANGES SINCE LAST ACTION
  https://reviews.llvm.org/D141451/new/

https://reviews.llvm.org/D141451

_______________________________________________
cfe-commits mailing list
cfe-commits@lists.llvm.org
https://lists.llvm.org/cgi-bin/mailman/listinfo/cfe-commits

Reply via email to