This is the mail archive of the crossgcc@cygnus.com mailing list for the crossgcc project.
Index Nav: | [Date Index] [Subject Index] [Author Index] [Thread Index] | |
---|---|---|
Message Nav: | [Date Prev] [Date Next] | [Thread Prev] [Thread Next] |
> Reply-To: Jens Doege <doege@ljk.atsugi.asahi-kasei.co.jp> > > Is there a switch for gcc (68k) to force it not to use byte (char) > operations? > (I couldn't find something like this) > All the variables I use are at least short. Nevertheless the compiler > detects that from some variables just the lower byte is used: > if((ist & SW_SRI) != SW_SRI){...} You should use the `volatile' qualifier for these variables, i.e. volatile unsigned short ist; > In the ready code > move.b -11(%a6),%d0 > and.b #128,%d0 > tst.b %d0 > odd memory addresses are accessed which causes really big trouble for my > system. In the given case the preprocessor reduces > #define SW_SRI 0x00f0 > to just 0xf0. A precompilier switch to prevent that whould also be > possible. This would make no difference, as it is the code generator that is doing this optimisation, not the preprocessor. > Thanks in advance > Jens Robin Kirkham CSIRO Division of Manufacturing Technology Project Engineer Locked Bag 9, Preston 3072, Australia robin.kirkham@mlb.dmt.csiro.au Phone: +61 3 9662-7756 Fax: +61 3 9662-7853