What are the pointer aliasing rules in D?
Ali Çehreli
acehreli at yahoo.com
Thu Mar 6 16:11:37 UTC 2025
On 3/6/25 6:34 AM, Paul Backus wrote:
> are allowed to refer to the same memory location. However, there are
> still cases where *dereferencing* those pointers can lead to undefined
> behavior.
This topic came up among colleagues recently. I think such restrictions
come from CPU architectures where, as I remember reading on C++ forums
years ago, the mere act of loading a misaligned pointer value into a
pointer register would cause an error (trap?).
I cast any odd pointer value to any sized integer (and in one case to a
struct pointer) from a void* buffer area and it works on the Intel CPU
that I am working on.
Will this work on all or most modern CPUs?
Ali
More information about the Digitalmars-d-learn
mailing list