From 5c3a722acafb2211035c93968efe09336d8e7b6f Mon Sep 17 00:00:00 2001 From: Dragorn421 Date: Tue, 20 Feb 2024 13:38:58 +0100 Subject: [PATCH] Fixup permuter_settings (#1746) * fix how permuter imports PRINTF macros wrt the ido-has-no-variadic-macros hack * more permuter_settings fixups --- include/macros.h | 2 +- tools/permuter_settings.toml | 20 +++++++++++++------- 2 files changed, 14 insertions(+), 8 deletions(-) diff --git a/include/macros.h b/include/macros.h index b0a35844f4..97627d9b4c 100644 --- a/include/macros.h +++ b/include/macros.h @@ -114,7 +114,7 @@ // argument errors instead. // Note some tools define __sgi but preprocess with a modern cpp implementation, // ensure that these do not use the IDO workaround to avoid errors. -#define IDO_PRINTF_WORKAROUND (__sgi && !__GNUC__ && !PERMUTER && !M2CTX) +#define IDO_PRINTF_WORKAROUND (__sgi && !__GNUC__ && !M2CTX) #if OOT_DEBUG #define PRINTF osSyncPrintf diff --git a/tools/permuter_settings.toml b/tools/permuter_settings.toml index 57c19f3b50..472edb6964 100644 --- a/tools/permuter_settings.toml +++ b/tools/permuter_settings.toml @@ -1,3 +1,6 @@ +build_system = "make" +compiler_type = "ido" # adjusts default weights for permuting + [preserve_macros] "g[DS]P.*" = "void" "gDma.*" = "void" @@ -10,7 +13,6 @@ OPEN_DISPS = "void" CLOSE_DISPS = "void" GRAPH_ALLOC = "void*" LOG_UTILS_CHECK_NULL_POINTER = "void" -PRINTF = "void" WORK_DISP = "void*" POLY_OPA_DISP = "void*" POLY_XLU_DISP = "void*" @@ -20,10 +22,14 @@ ABS = "int" SQ = "int" CLAMP = "int" +# If changing to not preserve these, add a check for the permuter to IDO_PRINTF_WORKAROUND, +# so that modern CPP (used by the permuter import) does not error on the IDO-specific hack. +# For example: +# #define IDO_PRINTF_WORKAROUND (__sgi && !__GNUC__ && !PERMUTER && !M2CTX) +PRINTF = "void" +SCHED_DEBUG_PRINTF = "void" +ACTOR_DEBUG_PRINTF = "void" + [decompme.compilers] -"tools/ido_recomp/linux/7.1/cc" = "ido7.1" -"tools/ido_recomp/macos/7.1/cc" = "ido7.1" -"tools/ido_recomp/windows/7.1/cc" = "ido7.1" -"tools/ido_recomp/linux/5.3/cc" = "ido5.3" -"tools/ido_recomp/macos/5.3/cc" = "ido5.3" -"tools/ido_recomp/windows/5.3/cc" = "ido5.3" +"tools/ido_recomp/*/7.1/cc" = "ido7.1" +"tools/ido_recomp/*/5.3/cc" = "ido5.3"