marlin "Macro expansion fails when PID_DEBUG enabled

SERIAL_ECHO_START macro is defined by default in Marlin.h and it takes no arguments.
Bug fixed by commit 8c4377dd635
Type WrongFunArgNum
Config "PIDTEMP && PID_DEBUG" (2nd degree)
Fix-in code
Location temperature/
#ifndef MARLIN_H
const char echomagic[] ="echo:";
#define SERIAL_ECHO_START (serialprint(echomagic))

void serialprint(const char *str){
	printf("%s\n", str);
}
#endif

void manage_heater(){
float pid_output = 1;
int e = 0;
#ifdef PIDTEMP

	#ifdef PID_DEBUG
	SERIAL_ECHO_START(" PIDDEBUG "); // ERROR
	#endif
#else
pid_output = 0;
#endif

}

int main(int argc, char** argv)
{
	manage_heater();
	return 0;
}

diff --git a/simple/8c4377d.c b/simple/8c4377d.c
index 32b9cb3..d426094 100644
--- a/simple/8c4377d.c
+++ b/simple/8c4377d.c
@@ -13,7 +13,7 @@ int e = 0;
 #ifdef PIDTEMP
 
 	#ifdef PID_DEBUG
-	SERIAL_ECHO_START(" PIDDEBUG "); // ERROR
+	SERIAL_ECHO_START;
 	#endif
 #else
 pid_output = 0;
#ifndef MARLIN_H
const char echomagic[] ="echo:";
#endif

int main(int argc, char** argv)
{
#ifndef MARLIN_H
#define SERIAL_ECHO_START (printf("%s\n", echomagic));
#endif

float pid_output = 1;
int e = 0;
#ifdef PIDTEMP
	#ifdef PID_DEBUG
	SERIAL_ECHO_START(" PIDDEBUG "); // ERROR
	#endif
#else
pid_output = 0;
#endif
	return 0;
}
. call  Marlin/temperature.cpp:406: void manage_heater()
. 452:  #define SERIAL_ECHO_START(" PIDDEBUG ")
// SERIAL_ECHO_START does not take any parameters
. ERROR Marlin.h:77: error: void value not ignored as it ought to be
// #define SERIAL_ECHO_START (serialprintPGM(echomagic))
// temperature.cpp:452:5: note: in expansion of macro      'SERIAL_ECHO_START'