* Argiris Kirtzidis: > What's the difference with > > D.ReadUIntPtr(reinterpret_cast<uintptr_t&>(MDC->SemanticDC), > SemaDCPtrID); > > The type-punned pointer is never dereferenced either. You write an object of pointer type as an uintptr_t, which is not allowed. Read access would be fine, though.