diff options
Diffstat (limited to 'src/decomp/expr/pseudo.c')
-rw-r--r-- | src/decomp/expr/pseudo.c | 23 |
1 files changed, 22 insertions, 1 deletions
diff --git a/src/decomp/expr/pseudo.c b/src/decomp/expr/pseudo.c index bb5861d..e73cb3d 100644 --- a/src/decomp/expr/pseudo.c +++ b/src/decomp/expr/pseudo.c @@ -38,6 +38,7 @@ struct _GPseudoRegister { GDecExpression parent; /* A laisser en premier */ + char *name; /* Désignation générale */ size_t index; /* Position dans l'ensemble */ GBinVariable *var; /* Variable plus précise */ @@ -160,7 +161,7 @@ static void g_pseudo_register_print(const GPseudoRegister *reg, GCodeBuffer *buf } else { - snprintf(label, 32, "var%zu", reg->index); + snprintf(label, 32, "%s%zu", reg->name, reg->index); g_buffer_line_insert_text(line, BLC_ASSEMBLY_HEAD, label, strlen(label), RTT_RAW); } @@ -169,6 +170,26 @@ static void g_pseudo_register_print(const GPseudoRegister *reg, GCodeBuffer *buf /****************************************************************************** * * +* Paramètres : reg = expression représentant un pseudo-registre à traiter. * +* name = désignation générale à associer au pseudo-registre. * +* * +* Description : Définit un nom général pour un pseudo-registre donné. * +* * +* Retour : - * +* * +* Remarques : - * +* * +******************************************************************************/ + +void g_pseudo_register_set_basename(GPseudoRegister *reg, const char *name) +{ + reg->name = strdup(name); + +} + + +/****************************************************************************** +* * * Paramètres : reg = expression représentant un pseudo-registre à traiter.* * index = indice à associer au pseudo-registre. * * * |