Now, this is possibly a really silly question.
I'm using the ATxmega128A1. Port C pin 5 is an input, used to trig port interrupt 0 (rising edge sensing). No problem there "“ everything works.
While porting the code from ATmega1281, I didn't add PORTC_INTFLAGS=1 to clear the interrupt flag, assuming that the flag would be cleared by hardware. Yes, I know. Never assume. But the flag appears to be cleared by hardware anyway.
The thing that confuses me is this: As far as I can tell, none of the relevant documents from Atmel mentions that the port interrupt flags are cleared by hardware. I've looked through the XMEGA A manual (which just claims that "Writing a one to this flag's bit location will clear the flag." and "For most interrupts, the interrupt flag is automatically cleared when executing the interrupt vector."), the XMEGA A1 datasheet (which says even less), application note AVR1313 (which says just about nothing), and application note AVR1305 (which redirects the reader to the datasheet...).
My question: Is the xmega supposed to clear port interrupt flags by hardware, and have Atmel just forgotten to spell it out for the dummies, or is it just sheer luck that my code works?