Re declaration why doesn t the compiler complaints

Hi,

I was looking trough the library "pins_arduino.c"

and i saw the following redeclarations of PROGMEM consts:

const uint8_t PROGMEM digital_pin_to_port_PGM[] = {
    // PORTLIST     
    // -------------------------------------------      
    PE  , // PE 0 ** 0 ** USART0_RX 
    PE  , // PE 1 ** 1 ** USART0_TX 
    PE  , // PE 4 ** 2 ** PWM2  
    PE  , // PE 5 ** 3 ** PWM3  
    PG  , // PG 5 ** 4 ** PWM4  
....
    PK  , // PK 4 ** 66 ** A12  
    PK  , // PK 5 ** 67 ** A13  
    PK  , // PK 6 ** 68 ** A14  
    PK  , // PK 7 ** 69 ** A15  
};


....


const uint8_t PROGMEM digital_pin_to_port_PGM[] = {
    PD, /* 0 */
    PD,
    PD,
    PD,
...
    PC,
    PC,
};

....

Shouldn´t this redeclaration in the same file make the compiler complaint?

How is this possible, what is happening here?

Thanks

Did you miss this line: #if defined(__AVR_ATmega1280__) || defined(__AVR_ATmega2560__) ?

indeed i missed them 8) !