Author Topic: Can't parse the function symbol name correctly  (Read 8951 times)

achen

  • Guest
Can't parse the function symbol name correctly
« on: August 15, 2009, 12:57:07 AM »
I am using SE v13.0.1.0 to work with Microchip's 32-bit processor. The GCC based compiler tool suite provides some #define's to simplify the definition of an interrupt service routine, for example,
Code: [Select]
#define __ISR(v, ipl) __attribute__((vector(v), interrupt(ipl), nomips16))

/* the real function name is CoreTimerIntHandler, __ISR() is just an easy way to specify gcc __attribute__ */
void __ISR(_CORE_TIMER_VECTOR, ipl3) CoreTimerIntHandler(void)
{
   ...
}
This seems to screw up the SE's ability to parse the function name because it thinks the function name is __ISR() and ignore the rest, as shown in the Defs window. Is there anything that can be done in SE to ignore a symbol such as __ISR() in this case?

Graeme

  • Senior Community Member
  • Posts: 2812
  • Hero Points: 347
Re: Can't parse the function symbol name correctly
« Reply #1 on: August 15, 2009, 05:04:53 AM »
Add __ISR(a,b) to the C++ preprocessor #define list. Tools -> options -> languages -> C/C++ -> preprocessing  - then click the help button for more information.

Graeme

achen

  • Guest
Re: Can't parse the function symbol name correctly
« Reply #2 on: August 18, 2009, 11:06:34 PM »
Excellent! It works great. Thanks.

Alan