This is the mail archive of the fortran@gcc.gnu.org mailing list for the GNU Fortran project.


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]
Other format: [Raw text]

[gfortran,patch] Fix MVBITS calling conventions


Hi all,

Attached patch fixes the MVBITS intrinsic by changing the library helper routine from:
SUB_NAME (const TYPE *from, const GFC_INTEGER_4 *frompos, const GFC_INTEGER_4 *len, TYPE *to, const GFC_INTEGER_4 *topos)
to:
SUB_NAME (const TYPE *from, const int *frompos, const int *len, TYPE *to, const int *topos)


where TYPE is the integer kind type of the two main variables (TO and FROM). I also changed the front-end so that the FROMPOS, LEN and TOPOS variables are converted into the right kind, which was not done before and caused wrong-code on big-endian targets (PR 32357).

Bootstrapped and regtested on x86_64-linux, OK for mainline?


PS: if you wonder why I change from GFC_INTEGER_4 to C int, it's part of a more general plan that I (and I believe a few others) have subtly put in place to eradicate all hard-coded kind numbers in the code. Yes, I know there will be some time before we can make gfortran run on a platform where there is no integer(kind=4), but ideally I'd like to get there.



Attachment: mvbits.ChangeLog
Description: Binary data

Attachment: mvbits.diff
Description: Binary data


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]