[clang] [Clang] Throw error when calling atomic with pointer to zero size object (PR #91057)

via cfe-commits cfe-commits at lists.llvm.org
Thu May 23 18:00:52 PDT 2024


================
@@ -330,6 +330,9 @@ def warn_atomic_op_misaligned : Warning<
   "; the expected alignment (%0 bytes) exceeds the actual alignment (%1 bytes)">,
   InGroup<AtomicAlignment>;
 
+def err_atomic_op_size_zero : Error<
----------------
Sirraide wrote:

We have around 5–6 diagnostics that all use some variant of ‘address argument to atomic builtin must be X’, which should probably be collapsed into a single diagnostic, but that should probably be a separate pr:
```
def err_atomic_builtin_must_be_pointer : Error<
  "address argument to atomic builtin must be a pointer (%0 invalid)">;
def err_atomic_builtin_must_be_pointer_intptr : Error<
  "address argument to atomic builtin must be a pointer to integer or pointer"
  " (%0 invalid)">;
def err_atomic_builtin_must_be_pointer_intfltptr : Error<
  "address argument to atomic builtin must be a pointer to integer,"
  " floating-point or pointer (%0 invalid)">;
def err_atomic_builtin_pointer_size : Error<
  "address argument to atomic builtin must be a pointer to 1,2,4,8 or 16 byte "
  "type (%0 invalid)">;
```

https://github.com/llvm/llvm-project/pull/91057


More information about the cfe-commits mailing list