https://gcc.gnu.org/bugzilla/show_bug.cgi?id=64724

Andrew Pinski <pinskia at gcc dot gnu.org> changed:

           What    |Removed                     |Added
----------------------------------------------------------------------------
             Status|UNCONFIRMED                 |RESOLVED
         Resolution|---                         |INVALID

--- Comment #2 from Andrew Pinski <pinskia at gcc dot gnu.org> ---

    char * a_tmp = new char[n*sizeof(double)+1];
    char * b_tmp = new char[n*sizeof(double)+1];


    double * a = reinterpret_cast<double*>(a_tmp+1);
    double * b = reinterpret_cast<double*>(b_tmp+1);


You are violating C rules dealing with alignment.  Pointer a and b are not
aligned to the alignment of double so the behavior is undefined.

Reply via email to