I am using SourceBoost 6.92 and I took uart_driver.h from a later version and heavily modified it and am using it in a PIC program I am writing, but it only works properly in SINGLE_PORT_MODE. When using multi-port mode, I noticed that the compiler creates temporary variables for values that are passed by reference, so an interrupt handler will copy values from the original variables on the way in, and copy the values from the temporary variables back to the original variables on the way out. I also noticed many argument and temporary variables share the same memory locations among different