> >> Thinking more about the alignment problems on arm and elsewhere, I > >> was wondering how hard it would be to implement something > like gcc's > >> -Wcast-align. Here's a description from the man page: > >> > >> Warn whenever a pointer is cast such that the required > alignment of > >> the target is increased. For example, warn if a "char *" > is cast to > >> an "int *" on machines where integers can only be accessed > at two- or > >> four-byte boundaries. > > > > The problem with such warnings is that one cannot get easily rid of > > them. Maybe a hint would be more suitable. > > Yes, probably, you would want to switch this off most of the > time, I guess. Is this hard to implement? >
One of the difficulties is probably pointers to packed records. Depending on the members of the record the alignment requirement can be 1,2,4 or more bytes. OS API's contain a lot of these. Packed records are an aligment "hazard" on their own. They also could use a warning/hint when members are not on a correctly aligned offset. Ludo _______________________________________________ fpc-devel maillist - [email protected] http://lists.freepascal.org/mailman/listinfo/fpc-devel
