Keil uVision ARM Compiler Version 5 error: #20: identifier "lr" or r14 is undefined

Hello, 

I am in process of creating a routine to capture info in HardFault_Handler using Keil uVision Compiler Version 5 for SAMAE54. 
It seems this particular compiler version does not recognize either "lr" or "r14" in the code below. 

How do I get round it without placing this code in assembly .s file? 
File copied successfully.
compiling main.c...
fault_handler.h(9): error: #52: expected a macro parameter name
tst lr, #4 \
main.c(571): error: #20: identifier "lr" is undefined

#define HARDFAULT_HANDLING_ASM() \
__asm { \
tst lr, #4 \
ite eq \
mrseq r0, msp \
mrsne r0, psp \
b my_fault_handler_c \
}

0