marlin "The function is declared with only one parameter, but in a specific configuration it is called using multiple parameters. The function is called with more arguments than the function's declaration. This happens only if a feature is disabled and another one enabled.

Issue 1770: https://github.com/MarlinFirmware/Marlin/issues/1770 "
Bug fixed by commit 831016b09f7
Type WrongFunArgNum
Config "!ULTRA_LCD && SDSUPPORT" (2nd degree)
Fix-in code
Location lcd/
#include<stdbool.h>

#ifdef ULTRA_LCD
 void lcd_setstatus(const char* message, const bool persist) {};
 // more functions
#else
 void lcd_setstatus(const char* message) {};
 // more functions
#endif
#endif

void getCode() 
{
#ifdef SDSUPPORT
    char time[30] = "time_here";
    lcd_setstatus(time, true); // ERROR
#endif
}
 
int main(int argc, char **argv)
{
  getCode();
  return 0;
}
diff --git a/simple/831016b.c b/simple/831016b.c
--- a/simple/831016b.c
+++ b/simple/831016b.c
@@ -7,7 +7,7 @@
  void lcd_setstatus(const char* message, const bool persist) {};
  // more functions
 #else
- void lcd_setstatus(const char* message) {};
+ void lcd_setstatus(const char* message, const bool persist) {};
  // more functions
 #endif
 #endif
. call  Marlin_main.cpp:698: void get_command()
. ERROR: Marlin_main.cpp:849:  lcd_setstatus(time, true);