Attributes discareded by clang preprocessor

While invoking clang via ExecuteAction() for preprocessing c source, attributes are being removed as below. Can someone guide me on what could be the reason?

Input : test.c
void test() attribute((disable_tail_calls)) {…}

output: test.preproc.c
void test() {}