Umm...
I think I've uncovered an odd compiler error.
"error: unable to find a register to spill in class `BASE_POINTER_REGS'"
I have some sample code that exposes the error see below Was wondering how I should report this.
Matt
/* Sample code that exposes some sort of compiler error. Error Message is: tests.c:65: error: unable to find a register to spill in class `BASE_POINTER_REGS' If EXPOSE_ERROR is defined as 1 then the error appears. If defined as 0 then the error disappears. Complied with the following command line with avr-gcc 3.4.5 avr-gcc -c -mmcu=atmega16 -Os tests.c */ #include#include #define EXPOSE_ERROR 1 // Sensor Data typedef and array typedef struct { uint8_t sensor_type; // sensor type uint8_t (*Read)(uint8_t sensor_num); // sensor function uint8_t tst1; // rate alarm flag uint8_t tst2; // rate alarm flag uint8_t tst3; // rate alarm flag uint8_t tst4; // rate alarm flag uint8_t tst5; // rate alarm flag uint8_t tst6; // rate alarm flag #if EXPOSE_ERROR uint8_t tst7; // rate alarm flag #endif } SENSOR_DATA_T; #define MAX_SENSOR_CHAN 5 #define SENSOR_NULL 0xff extern SENSOR_DATA_T sensor_data[]; SENSOR_DATA_T sensor_data[MAX_SENSOR_CHAN]; uint8_t (*Read)(uint8_t sensor_num); uint8_t ReadSensors(void) { uint8_t sensor_num; uint8_t alarm = 0; // read sensors for(sensor_num=0; sensor_num