Ouep, je fais toujours ça bien sûr.
On peut faire un pragma once aussi. (pas vu ta dernière phrase
)
En fait, c'est pas une solution que je cherche, c'est la manière dont doit se conduire un préprocesseur ou un assembleur. Doit-il interdire un tel comportement, ou le permet-il. Dans ce cas, comment fait-il pour ne pas boucler jusqu'à épuisement de la mémoire ?
Perso j'ai écrit ça, qui recherche dans la liste des fichiers en cours d'assemblage, et qui permet l'inclusion seulement si le dernier fichier identique à celui qu'on essaie d'inclure a été fini de parser. Autrement, on est dans une inclusion récursive :
\Check: suba.l #FILE.sizeof,a0
cmp.w FILE.Handle(a0),d3
bne.s \NotSameFile
btst.b #FILE.Flags.Parsed,FILE.Flags(a0)
beq.s \RecursiveInclusion
\NotSameFile:
btst.b #FILE.Flags.BaseFile,FILE.Flags(a0)
beq.s \Check ; Base File not reached, continue to check