Error with definition of #define

Your concept of the macro as a pseudo function is all wrong.
Your definition of the macro is very wrong with a lack of line continuation operators , so it looks like you got off lightly.

What you see

What the compiler sees

That's what the expansion does.

#define TIMEOUT_CHECK ( (millis() - timeout_start) > timeout_ms )

Looks better to me