vince
:
A tu prévu des interfaces avec GTC ? (gtc est le compilateur C oncalc de Pollux)
Raaah, comme d'habitude, dès qu'on parle de compilateurs: blabla blabla GTC blabla blabla Pollux blabla blabla...
"GTC" (y-en a marre du typosquat, soit dit en passant) n'existe pas, n'a jamais existé et n'existera probablement jamais. Tout ce qui a existé sont quelques bêtas privées que très peu de personnes ont pu voir.
Et je ne vois pas pourquoi il devrait perdre son temps pour supporter ce compilateur en tant que backend alors qu'il y a TIGCC qui marche très bien.
Pollux :
A propos du tas, est-ce que :
- tu alloues avec HeapAlloc/HeapFree ou tu as fais des fonctions plus efficaces ? (ce serait vraiment dommage d'utiliser les fonctions horriblement lentes du TIOS)
C'est la seule méthode raisonnable de gérer le heap. Réimplémenter un heap par dessus celui de AMS, c'est nul.
Est-ce qu'il y a des switch pour activer le contrôle de débordement des entiers comme en Java ? (puisque je présume que c pas activé par défaut)
* En Java, ce n'est pas le contrôle qu'il y a par défaut, mais le wraparound.
* Pour le wraparound, il faudra attendre
-fwrapv dans GCC, qui n'existe pas encore (et je ne suis pas sûr qu'il sera implémenté, il y a eu des objections, portant à la fois sur la réalisabilité dans le code actuel -
GCJ a des bogues connus à cause de ça - et sur le fait que ce soit ou non une bonne idée).
* Pour le contrôle, il y a
-ftrapv, mais les routines pour gérer ça ne sont pas implémentées dans TIGCCLIB.
Enfin bon, j'ai pas eu le temps de regarder ça de plus près, mais si c pas trop inefficace, ça a l'air prometteur 
C'est très très inefficace en taille!
Hippohmu
:
Et un compilo ARM ?
Un compilo *orienté Hp49g+*, non. (pas encore)
Si tu veux un portage de GCC, je t'ai déjà proposé mon aide.

Le linker de Sebastian risque de vous être très utile. (Le code spécifique au 68k peut être viré par des
#ifdef, et tu peux peut-être ajouter des optimisations - suppression de relogements par exemple si c'est possible pour le ARM (je n'en sais rien) - en version ARM en te basant sur notre code pour le 68k.)
Quesoft
:
D'ailleurs, la prochaine version devrait offrir un api ANSI qui pourra être compilé sous GCC et VC++.
Ça sonne bien. Mais n'oublie pas MinGW!

C'est-à-dire, distingue bien entre les tests de compilateur (__GNUC__/_MSC_VER) et de système d'exploitation (_WIN32). Ne les mélange en aucun cas! (Je dis ça parce que j'ai vu beaucoup trop de personnes mettre:
#ifdef _WIN32
asm {
syntaxe M$
}
#endif
ou
#ifndef __GNUC__
#include <windows.h>
#endif
qui ne conviennent pas du tout.

)
Pollux
:
J'alloue avec l'alias malloc de HeapAlloc. Comme je suis pas skillé en assembleur 68000 (en fait le seul assembleur que je connais est celui de la z architecture !), je ne vois pas une autre façon d'implémenter cette fonction.
Pas besoin de le faire en assembleur, du C suffirait
Mais c vrai que c un peu long à faire...
Il n'y a pas vraiment de manière de faire ça proprement. Tu veux le faire comment, le mapping blocs utilisateur -> blocs AMS? Allouer des blocs de 65520 octets à AMS et allouer tes blocs en first fit? Ça gaspille énormément de place si les blocs utilisateurs font 32 KO chacun. Allouer un seul bloc de 65520 octets à AMS et tout mettre dedans? Dans ce cas, si on veut 2 blocs de 32 KO, tu fais quoi? Allouer un bloc de AMS pour chacun de tes blocs? Ben, alors ta "gestion personnalisée" du heap n'en est pas une et ne sert à rien. Il n'y a pas de bonne solution.