While compiling in CCS6, I encountered this error:
#10056 symbol "__TI_int47" redefined
(Compiling for the MSP430 using Code Composer Studio by Texas Instruments)
It happens when declaring an Interrupt Service Routine, such as:
#pragma vector=PORT1_VECTOR
__interrupt void P1input_ISR ()
{
P1IFG &= ~BIT0; // mark interrupt as "handled"
}
What causes these anonymous-looking symbols to be generated?
How can the code be tracked down that generated the symbol?
The symbol __TI_int47 is probably some sort of alias for your ISR function. It is just an internal implementation detail for how one part of the compiler communicates to another part the information about what ISRs you have defined. The pragma you posted probably causes it to be defined. I bet that PORT1_VECTOR is defined as 47 by a processor-specific header file.
It sounds like there are multiple pieces of code in your project defining the same ISR so you will need to remove one or perhaps call one from the other.