[PATCH] D150875: Make dereferencing a void* a hard-error instead of warn-as-error

2023-05-24 Thread Erich Keane via Phabricator via cfe-commits
This revision was automatically updated to reflect the committed changes. Closed by commit rGfca4e2add0f8: Make dereferencing a void* a hard-error instead of warn-as-error (authored by erichkeane). Herald added a project: clang. Repository: rG LLVM Github Monorepo CHANGES SINCE LAST ACTION

[PATCH] D150875: Make dereferencing a void* a hard-error instead of warn-as-error

2023-05-23 Thread Aaron Ballman via Phabricator via cfe-commits
aaron.ballman accepted this revision. aaron.ballman added a comment. This revision is now accepted and ready to land. Fantastic! Presuming precommit CI comes back green this time, LGTM. CHANGES SINCE LAST ACTION https://reviews.llvm.org/D150875/new/ https://reviews.llvm.org/D150875

[PATCH] D150875: Make dereferencing a void* a hard-error instead of warn-as-error

2023-05-23 Thread Erich Keane via Phabricator via cfe-commits
erichkeane added a comment. I did the llvm-test-suite build, and have a handful of linker issues (because I've not built libclang, and don't have some newer GCC library for some float16 commands), but everythign builds at least. If necessary, I can try to make sure it all builds, but I

[PATCH] D150875: Make dereferencing a void* a hard-error instead of warn-as-error

2023-05-23 Thread Erich Keane via Phabricator via cfe-commits
erichkeane updated this revision to Diff 524667. erichkeane added a comment. Fix tests + Aaron's formatting request. Guess I forgot to upload this last night! CHANGES SINCE LAST ACTION https://reviews.llvm.org/D150875/new/ https://reviews.llvm.org/D150875 Files:

[PATCH] D150875: Make dereferencing a void* a hard-error instead of warn-as-error

2023-05-22 Thread Erich Keane via Phabricator via cfe-commits
erichkeane marked an inline comment as done. erichkeane added a comment. In D150875#4362434 , @aaron.ballman wrote: > Precommit CI found various failures that need to be addressed. Also, have you > tested to see what breaks in llvm-test-suite? Woops!

[PATCH] D150875: Make dereferencing a void* a hard-error instead of warn-as-error

2023-05-22 Thread Aaron Ballman via Phabricator via cfe-commits
aaron.ballman added a comment. Precommit CI found various failures that need to be addressed. Also, have you tested to see what breaks in llvm-test-suite? Comment at: clang/docs/ReleaseNotes.rst:58 Clang will only search for std::coroutine_traits for coroutines then. +-

[PATCH] D150875: Make dereferencing a void* a hard-error instead of warn-as-error

2023-05-19 Thread Erich Keane via Phabricator via cfe-commits
erichkeane updated this revision to Diff 523748. erichkeane added a comment. Update release note per @MaskRay , change error message per @rsmith CHANGES SINCE LAST ACTION https://reviews.llvm.org/D150875/new/ https://reviews.llvm.org/D150875 Files: clang/docs/ReleaseNotes.rst

[PATCH] D150875: Make dereferencing a void* a hard-error instead of warn-as-error

2023-05-19 Thread Erich Keane via Phabricator via cfe-commits
erichkeane added inline comments. Comment at: clang/docs/ReleaseNotes.rst:59 +- Clang no longer allows dereferencing of a ``void*`` as an extension. Clang 16 + converted this to a warning-as-default-error as well as a SFINAE error. MaskRay wrote: > Mention

[PATCH] D150875: Make dereferencing a void* a hard-error instead of warn-as-error

2023-05-18 Thread Fangrui Song via Phabricator via cfe-commits
MaskRay added inline comments. Comment at: clang/docs/ReleaseNotes.rst:59 +- Clang no longer allows dereferencing of a ``void*`` as an extension. Clang 16 + converted this to a warning-as-default-error as well as a SFINAE error. Mention

[PATCH] D150875: Make dereferencing a void* a hard-error instead of warn-as-error

2023-05-18 Thread Aaron Ballman via Phabricator via cfe-commits
aaron.ballman added a comment. In D150875#4353658 , @erichkeane wrote: > Ok, so I was curious why this was an extension. This is the original patch: > https://github.com/llvm/llvm-project/commit/80877c228d019e9cdca6295f3197867cc86e1720 > where

[PATCH] D150875: Make dereferencing a void* a hard-error instead of warn-as-error

2023-05-18 Thread Erich Keane via Phabricator via cfe-commits
erichkeane added a comment. Ok, so I was curious why this was an extension. This is the original patch: https://github.com/llvm/llvm-project/commit/80877c228d019e9cdca6295f3197867cc86e1720 where @rsmith mentions there is no good reason for this limitation, then mentions a core issue having

[PATCH] D150875: Make dereferencing a void* a hard-error instead of warn-as-error

2023-05-18 Thread Erich Keane via Phabricator via cfe-commits
erichkeane added a comment. In D150875#4353535 , @rsmith wrote: > In D150875#4353384 , @erichkeane > wrote: > >> We are the only of the major compilers with this "extension" (I hesitate to >> call it that, as

[PATCH] D150875: Make dereferencing a void* a hard-error instead of warn-as-error

2023-05-18 Thread Richard Smith - zygoloid via Phabricator via cfe-commits
rsmith added a comment. In D150875#4353384 , @erichkeane wrote: > We are the only of the major compilers with this "extension" (I hesitate to > call it that, as I'm not sure this FITS in the 'extension's permitted by > standard) I'm not objecting to

[PATCH] D150875: Make dereferencing a void* a hard-error instead of warn-as-error

2023-05-18 Thread Jessica Clarke via Phabricator via cfe-commits
jrtc27 added a comment. In D150875#4353484 , @erichkeane wrote: > In D150875#4353467 , @jrtc27 wrote: > >> We heavily rely on this extension in CheriBSD via `__typeof__((*(p))) * >> __capability` as we want to

[PATCH] D150875: Make dereferencing a void* a hard-error instead of warn-as-error

2023-05-18 Thread Erich Keane via Phabricator via cfe-commits
erichkeane added a comment. In D150875#4353467 , @jrtc27 wrote: > We heavily rely on this extension in CheriBSD via `__typeof__((*(p))) * > __capability` as we want to be able to take any pointer, including to an > array or function that needs to

[PATCH] D150875: Make dereferencing a void* a hard-error instead of warn-as-error

2023-05-18 Thread Jessica Clarke via Phabricator via cfe-commits
jrtc27 added a comment. We heavily rely on this extension in CheriBSD via `__typeof__((*(p))) * __capability` as we want to be able to take any pointer, including to an array or function that needs to undergo decay to be an actual pointer, and turn it into a `__capability`-qualified one.

[PATCH] D150875: Make dereferencing a void* a hard-error instead of warn-as-error

2023-05-18 Thread Erich Keane via Phabricator via cfe-commits
erichkeane added a comment. In D150875#4353435 , @rnk wrote: > In D150875#4353398 , @aaron.ballman > wrote: > >> Note, there was an RFC: >>

[PATCH] D150875: Make dereferencing a void* a hard-error instead of warn-as-error

2023-05-18 Thread Reid Kleckner via Phabricator via cfe-commits
rnk added a comment. In D150875#4353398 , @aaron.ballman wrote: > Note, there was an RFC: > https://discourse.llvm.org/t/rfc-can-we-stop-the-extension-to-allow-dereferencing-void-in-c/65708 Thanks, that addresses my concern. Please link to it from the

[PATCH] D150875: Make dereferencing a void* a hard-error instead of warn-as-error

2023-05-18 Thread Aaron Ballman via Phabricator via cfe-commits
aaron.ballman added a comment. In D150875#4353358 , @rnk wrote: > Can you expand on the motivation for removing this extension? This doesn't > seem to save a lot of code complexity, and it increases migration costs for > our users. I'd like to have

[PATCH] D150875: Make dereferencing a void* a hard-error instead of warn-as-error

2023-05-18 Thread Erich Keane via Phabricator via cfe-commits
erichkeane added a comment. In D150875#4353358 , @rnk wrote: > Can you expand on the motivation for removing this extension? This doesn't > seem to save a lot of code complexity, and it increases migration costs for > our users. I'd like to have some

[PATCH] D150875: Make dereferencing a void* a hard-error instead of warn-as-error

2023-05-18 Thread Erich Keane via Phabricator via cfe-commits
erichkeane added a comment. In D150875#4353209 , @rupprecht wrote: > I found one use here: > https://github.com/ericniebler/range-v3/blob/48dc2eb666c07e6afc8ec5edf7db9a5c6cde7a56/include/range/v3/functional/invoke.hpp#L51 Huh, that is an interesting

[PATCH] D150875: Make dereferencing a void* a hard-error instead of warn-as-error

2023-05-18 Thread Reid Kleckner via Phabricator via cfe-commits
rnk added a comment. Can you expand on the motivation for removing this extension? This doesn't seem to save a lot of code complexity, and it increases migration costs for our users. I'd like to have some motivation for putting them through the trouble of migrating. CHANGES SINCE LAST ACTION

[PATCH] D150875: Make dereferencing a void* a hard-error instead of warn-as-error

2023-05-18 Thread Shafik Yaghmour via Phabricator via cfe-commits
shafik added a comment. LGTM CHANGES SINCE LAST ACTION https://reviews.llvm.org/D150875/new/ https://reviews.llvm.org/D150875 ___ cfe-commits mailing list cfe-commits@lists.llvm.org https://lists.llvm.org/cgi-bin/mailman/listinfo/cfe-commits

[PATCH] D150875: Make dereferencing a void* a hard-error instead of warn-as-error

2023-05-18 Thread Jordan Rupprecht via Phabricator via cfe-commits
rupprecht added a comment. I found one use here: https://github.com/ericniebler/range-v3/blob/48dc2eb666c07e6afc8ec5edf7db9a5c6cde7a56/include/range/v3/functional/invoke.hpp#L51 CHANGES SINCE LAST ACTION https://reviews.llvm.org/D150875/new/ https://reviews.llvm.org/D150875

[PATCH] D150875: Make dereferencing a void* a hard-error instead of warn-as-error

2023-05-18 Thread Erich Keane via Phabricator via cfe-commits
erichkeane created this revision. erichkeane added reviewers: clang-vendors, clang-language-wg. Herald added a project: All. erichkeane requested review of this revision. Clang 16 changed to consider dereferencing a void* to be a warning-as-error, plus made this an error in SFINAE contexts, since