1

TIGCC me sort un magnifique
Label 'unallocate' used before containing binding contour
quelqu'un sait d'ou ça vient?
(pourtant le label en question n'est pas dans une boucle)

2

Mets un ; après les : du label.
avatar
Mes news pour calculatrices TI: Ti-Gen
Mes projets PC pour calculatrices TI: TIGCC, CalcForge (CalcForgeLP, Emu-TIGCC)
Mes chans IRC: #tigcc et #inspired sur irc.freequest.net (UTF-8)

Liberté, Égalité, Fraternité

3

ça ne change rien sad

4

Poste ton code (ou maile-le moi).
avatar
Mes news pour calculatrices TI: Ti-Gen
Mes projets PC pour calculatrices TI: TIGCC, CalcForge (CalcForgeLP, Emu-TIGCC)
Mes chans IRC: #tigcc et #inspired sur irc.freequest.net (UTF-8)

Liberté, Égalité, Fraternité

5

     for (i = 0; i < 43; i ++) {        Sprites32x32[i] = (void*)(ptrFILE + i * 384);               /* Merci à Kevin (une fois de + :)) */     Sprites32x32[i + 43] = malloc (384);     if (!Sprites32x32[i + 43])          goto unallocate;                                                                                mirror (Sprites32x32[i], Sprites32x32[i + 43]);   }                                                                                     

6

puis a la fin du prog, juste avant l'acolade marquant la fin de la fonction main: unallocate:      for (i = 43; i < 86; i ++)         if (Sprites32x32[i])              free (Sprites32x32[i]);

7

Maile-moi le fichier .c complet s'il te plaît. Je ne peux pas reproduire l'erreur que tu reçois avec ces extraits.
avatar
Mes news pour calculatrices TI: Ti-Gen
Mes projets PC pour calculatrices TI: TIGCC, CalcForge (CalcForgeLP, Emu-TIGCC)
Mes chans IRC: #tigcc et #inspired sur irc.freequest.net (UTF-8)

Liberté, Égalité, Fraternité

8

Ah, c'est fait là, merci.

J'ai trouvé le problème: tu déclares des tableaux de taille variable entre le goto et le label, et GCC n'aime pas ça:
	Ennemy 							ZombieTab[NumberOfZombies[LevelNumber - 1]];
	Ennemy 							FishTab[NumberOfFishes[LevelNumber - 1]];
	Bubble 							BubbleTab[NumberOfBubbles[LevelNumber - 1]];
	unsigned char				Counter2[3][Counter2Data[LevelNumber - 1]];


La solution la plus simple: ouvre une accolade avant Ennemy ZombieTab[NumberOfZombies[LevelNumber - 1]]; et referme là après free (Level);, juste avant le label unallocate:.
avatar
Mes news pour calculatrices TI: Ti-Gen
Mes projets PC pour calculatrices TI: TIGCC, CalcForge (CalcForgeLP, Emu-TIGCC)
Mes chans IRC: #tigcc et #inspired sur irc.freequest.net (UTF-8)

Liberté, Égalité, Fraternité

9

Donc:
	BOOL								RaymanLife[] = {FALSE,TRUE};
	
[b]{[/b]	Ennemy 							ZombieTab[NumberOfZombies[LevelNumber - 1]];
	Ennemy 							FishTab[NumberOfFishes[LevelNumber - 1]];

[...]
	GX_PowerOff (TRUE);
	free (Level);[b]}[/b]
	
 	unallocate:
avatar
Mes news pour calculatrices TI: Ti-Gen
Mes projets PC pour calculatrices TI: TIGCC, CalcForge (CalcForgeLP, Emu-TIGCC)
Mes chans IRC: #tigcc et #inspired sur irc.freequest.net (UTF-8)

Liberté, Égalité, Fraternité

10

oula c space comme solution... hum
ça marche mais bon je comprends pas le rapport entre ces accolades et la taille variable de mes tableau, ni meme avec l'erreur renvoyée sur le label

11

Mais c'est la solution correcte: il faut que tous les tableaux à taille variable déclarés entre le goto et le label ne soient plus actifs à l'endroit où il y a le label. Donc il faut les mettre dans un bloc à part.
avatar
Mes news pour calculatrices TI: Ti-Gen
Mes projets PC pour calculatrices TI: TIGCC, CalcForge (CalcForgeLP, Emu-TIGCC)
Mes chans IRC: #tigcc et #inspired sur irc.freequest.net (UTF-8)

Liberté, Égalité, Fraternité

12

ok d'acc je comprends mieux smile