[PATCH] D147888: Update declaration message of extern linkage

Krishna Narayanan via Phabricator via cfe-commits cfe-commits at lists.llvm.org
Sun Jul 2 08:51:40 PDT 2023


Krishna-13-cyber added a comment.

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

> I think the existing wording is pretty reasonable, changing "non-static declaration" into "extern declaration" isn't really giving the user any more information to help them resolve the issue. "please pick exactly one" doesn't seem likely to help the user either -- they already know there's a conflict, so picking one is already the solution the user is likely to have in mind. The hard part for the user is with figuring which one to pick, but we have no way to help them make that choice. So I'm not certain changes are needed in this space (I'm not opposed either), but I do think the idea @cjdb had to combine all these diagnostics into one using `%select` could be helpful. However, there are enough options that it could also be pretty complex to reason about. There's static, extern, and thread-local, as well as "non-" versions of each of those, so there are quite a few combinations.

Yes I agree with this,
Changing the whole set of diagnostics will be quite challenging, but I think `extern` has an edge over  `non-static` declaration when we are able to see the diagnostics in gcc if are not going with the `pick-exactly one` convention.


Repository:
  rG LLVM Github Monorepo

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

https://reviews.llvm.org/D147888



More information about the cfe-commits mailing list