[clang] [clang] Look through parens around reinterpret_cast to emit a warning (PR #157033)
Mariya Podchishchaeva via cfe-commits
cfe-commits at lists.llvm.org
Fri Sep 5 00:46:32 PDT 2025
================
@@ -167,6 +167,9 @@ void dereference_reinterpret_cast() {
(void)reinterpret_cast<float&>(d); // expected-warning {{reinterpret_cast from 'double' to 'float &' has undefined behavior}}
(void)*reinterpret_cast<float*>(&d); // expected-warning {{dereference of type 'float *' that was reinterpret_cast from type 'double *' has undefined behavior}}
+ // Look through parens
+ (void)*(reinterpret_cast<double*>(&l)); // expected-warning {{dereference of type 'double *' that was reinterpret_cast from type 'long *' has undefined behavior}}
----------------
Fznamznon wrote:
Do we diagnose that?
```
(void)(reinterpret_cast<double*>(&l));
```
https://github.com/llvm/llvm-project/pull/157033
More information about the cfe-commits
mailing list