Yes, I understand that you can write a program that breaks the
aliasing rules.  However, this is not what this bug report is about.

Your bug report implies that calling fftw from a program that
#include's <complex.h> causes a violation of the aliasing rules,
because fftw is compiled with fftw_complex = double [2] and the
program is compiled with fftw_complex = double _Complex.  I contend
that no incorrect behavior can possibly occur in this situation, and
your example does not contradict my contention.  Indeed, each
translation unit is itself well typed and has no aliasing violations.
We take the liberty across translation-unit boundaries to reinterpret
pointers to double _Complex as pointers to double [2], which is legal
because the two types are guaranteed to have the same representation.





-- 
To UNSUBSCRIBE, email to debian-bugs-dist-requ...@lists.debian.org
with a subject of "unsubscribe". Trouble? Contact listmas...@lists.debian.org

Reply via email to