On Mon, 2006-04-03 at 22:19 +0200, Vincent Trouilliez wrote: > On Mon, 2006-04-03 at 12:44 -0500, David Kelly wrote: > >OK, I spoke too soon. For example ui_message_show source is totally > >separate from its disassembly listing. Get lots of warnings like this: > > >ui.c:762: warning: passing arg 1 of `eeprom_read_byte' makes pointer > >from integer without a cast > > Ah yes, I remember trying to get rid of these specific warnings, but I > didn't see the problem, as I was using the exact syntax found in > avr-libc's documentation. I think I fixed it with some type casts, but > that made the eeprom_read_byte() very difficult to read :-( > The documentation says that the address can be passed as a simple > integer, but gcc is less arranging and wants a pointer not an integer... > Well, I will fix it again and see if that improves the output of > objdump...
Oh, I must have been on drugs, the avr-libc doc was correct (of course it is...), the compiler was right to complain. All the eeprom related warnings were caused by calls like this: sampling_period = eeprom_read_byte(EE_SAMPLING_PERIOD)); I added the type cast: sampling_period = eeprom_read_byte((uint8_t *) ((uint16_t)EE_SAMPLING_PERIOD)); and all these warnings are gone... it's just more difficult to read and longer to type :-( And it still doesn't fix the original problem.. but I have a couple more types of warning to fix, so there is scope for hope: menu.c:53: warning: initialization from incompatible pointer type menu.c:67: warning: initialization discards qualifiers from pointer target type However you didn't mention them, do you mean that GCC 3.4.6 didn't report them at all ? I have 16 of them with GCC 3.4.3... I might try updating GCC then ! -- Vince _______________________________________________ AVR-GCC-list mailing list AVR-GCC-list@nongnu.org http://lists.nongnu.org/mailman/listinfo/avr-gcc-list