/* DCMSG.FRE */ /* Y.L. Noyelle, Supelec, France 1994 */ /************************************************************************/ /* ERRORS/WARNINGS MESSAGES */ /************************************************************************/ /* @x (x>0) tells where message parameter number x should be inserted; @0 indicates portions of text to be skipped if not in "verbose" mode. */ "ATtention (niv. ", /* Warning */ "ERreur", /* Error */ "bool/signed char/.../unsigned long", /* Arithm */ "@0", /* AtO */ "composant de ", /* ComponOf */ "composite de ", /* ComposOf */ " (fichier deja inclus ?)", /* DblIncldFile */ " (i.e. ...*const...)", /* EGConstPtr */ "vide", /* Empty */ "", /* EmptyTxt */ "\"", /* EndFileName */ "\nUnite compilation \"@1\": nombre total \ lignes traitees = @2\n", /* EndMsg */ "@1 erreur(s) et @2 remarque(s) signalee(s).\n",/* ErrWarn */ " du fichier \"", /* File */ "\nDerniers lexemes: ", /* LastToks */ "gauche ", /* Left */ " ligne ", /* Line */ "peuvent se produire (au travers d'une affec\ tation a un pointeur non 'const')", /* MayM */ "Pas d'erreur ni remarque.\n", /* NoErrWarn */ " ou juste avant", /* OrJustBef */ "Presser pour continuer", /* ProceedMsg */ "plus de memoire." /*~zif __index!=RanOutOfMem "Misplaced 'RanOutOfMem'" */, "droit ", /* Right */ "#####\n", /* SeparMsg */ "===>Presser apres chaque message \ pour continuer,\n\ e => message plus informatif (voir \ option '+zlt'),\n\ # => plus d'arret (voir aussi option \ '-zsam').\n L'option '+zae' fait signaler toutes les \ erreurs.\n===>La commande 'dcc' seule (sans argument) \ donne la liste de toutes les options.\n", /* StopAftMsgBanner */ "sous-", /* SubPre */ "Verificateur de programmes C, version 2.1h. \ Copyright 1995 Ecole Superieure d'Electricite, France.\n\ Utilisation: dcc {options} nom_unite_compilation(s)\n\ options: -zac pas de verification du manque de qualificatif 'const',\n\ -zbo type 'bool' non impose,\n\ -zcc ne pas enchainer sur compilateur,\n\ -zctn ne pas verifier la premiere lettre des noms de type,\n\ -zcw n'appeler compilateur qu'en absence d'erreur/remarque,\n\ -zfrt ne pas verifier si type rendu par fonction est nomme,\n\ -zinc ne pas verifier position des '#include',\n\ -zind ne pas verifier indentation,\n\ -znui ne pas verifier si identificateurs definis sont utilises,\n\ -znup idem -znui, mais sur parametres de fonction,\n\ -znw demarrer en mode \"remarques inhibees\",\n\ -zpe ne pas signaler avertissements divers,\n\ -zpo ne pas verifier portabilite,\n\ -zrd ne pas verifier lisibilite,\n\ -zsam pas d'arret apres chaque message,\n\ -ztr pas de message final,\n\ -zuc ne pas detecter les constantes non nommees,\n\ -zwa pas de remarque,\n\ -zwr pas de passage automatique a la ligne apres @3 \ caracteres,\n", /* Use1 */ " +zae indiquer toutes erreurs (autrement seulement premiere erreur\n\ dans instruction ou declaration courante),\n\ +zafn toujours donner nom fichier courant dans messages,\n\ +zepl signaler listes de parametres formels vides,\n\ +zlt/+zlt'x' lister derniers lexemes traites avant message\n\ d'erreur/remarque ('x' = longueur tampon),\n\ +zmcc verifier pour tout pointeur que 'const' ne manque pas,\n\ +zmic verification forte du type des indices,\n\ +zmsg'x' 'x': nombre maximum messages emis,\n\ +zpnt verifier que parametres de fonction sont de type nomme,\n\ +zsy lister table symboles de chaque bloc,\n\ +ztab'x' 'x': espacement inter-tabulations (pour verification\n\ indentation; valeur par defaut: @2),\n\ +zusg lister ce mode d'emploi,\n\ +zve sortir messages plus informatifs,\n\ +zvve idem '+zve', plus decoder types en entier dans messages.\n\ Options ne commencant pas par '+z'/'-z' transmises au compilateur (mais \ options @4 prises en compte)." /*~zif __index!=Use2 "Misplaced 'Use2'" */, "\n***** Erreur(s)/cas discutable(s) trouve(s) \ dans unite de compilation \"", /* WarnErrInFile */ "vont se produire@0 (au travers d'un \ transtypage ou d'un membre pointeur non 'const')@0", /* WillM */ "Identificateur \"@1\" deja declare/defini \ ligne @4@5@6@7@8@9.", /* AlrdDefId */ "Etiquette deja definie (ligne @4@5@6@7@8).", /* AlrdDefLabel */ "Type deja qualifie avec ce qualificatif.", /* AlrdQual */ "Option \"@1\" deja positionnee.", /* AlrdSeenOpt */ "Tag \"@1\" deja /*~Undef*/ini.", /* AlrdUndef */ "Valeur de cas (@1) deja rencontree dans \ aiguillage courant.", /* AlrdUsedCaseVal */ "Fin argument en dehors corps macro appelante \ (macro appelee \"@1\", macro appelante \"@2\", ligne \ @4@5@6@7@8).", /* ArgCollGetsOutMacBody */ "Specification \"@1\" attend tableau@0 \ (type argument: \"@2\").", /* ArrExptd */ "Tableau d'elements squelette ou void ou \ fonction@0 (type element: \"@2\").", /* ArrOfIncplOrFctElt */ "Fonction ne peut rendre tableau ni \ fonction@0 (type rendu: \"@1\").", /* ArrOrFctCantBeRet */ "Fleche '->' attendue.", /* ArrowExptd */ "Fonction \"@2\": elements du tableau \ \"@1\"@0 (defini ligne @4@5@6@7@8)@0 \ devraient etre qualifie 'const'@3.", /* ArrShdBeConst */ "\"@2\" trop petit pour nombre maximum de \ caracteres entrable via specification \"@1\".", /* ArrTooSmall */ "Pour convertir tableau en pointeur, utiliser \ forme &array[0][0]..@0. (type expression: \"@2\"; type \ cible: \"@3\").", /* ArrToPtr */ "Affectation adresse objet 'auto' a variable \ remanente (si vraiment necessaire, utiliser d-pragma \ /*~LocalAdr*/).", /* AsgnGblWLclAd */ "Fonction variadique doit avoir au moins \ un parametre.", /* AtLeastOnePar */ "Branchement arriere (si vraiment justifie, \ utiliser d-pragma /*~BackBranch*/).", /* BackwdBranch */ "Nombre de parametres effectifs incorrect (\ fonction \"@1\"@0, declaree ligne @4@5@6@7@8@0).", /* BadActParListLgth */ "Attribut incorrect@0 (doit etre 'static', \ 'extern', 'typedef', 'register', 'auto', ou vide).", /* BadAttrib */ "'main' ne devrait pas avoir d'attribut.", /* BadAttribForMain */ "Syntaxe incorrecte, ou texte trop long, pour \ option " #ifdef VMS "'/def'|'/undef'" #else "-D/-U" #endif " du compilateur (\"@1\").", /* BadDOption */ "@3 d-pragma illegal pour parametre \"@1\"@0 \ (defini ligne @4@5@6@7@8)@0 de fonction \"@2\".", /* BadDPForFctPar */ "Operateur '@1': type expression incorrect@0 \ (\"@2\") pour type recepteur \"@3\".", /* BadForLftType */ "Indentation non coherente avec niveau courant \ bloc/sous-instruction@0: cran d'indentation (@3) x \ niveau courant (@2) != indentation courante (@1 \ espaces depuis debut ligne).", /* BadIndent */ "Indentation incorrecte depuis ligne @1 \ jusqu'a ligne precedente.", /* BadIndent1 */ "Indentation incorrecte depuis ligne @1 \ (fichier \"@2\") jusqu'a ligne precedente.", /* BadIndent2 */ "Type index/ajout incorrect pour tableau/\ pointeur \"@1\"@0 (declare ligne @4@5@6@7@8; type \ attendu: \"@2\", type index: \"@3\"). Si necessaire, \ utiliser d-pragma /*~IndexType */ dans \ declaration pour specifier type index/ajout.", /* BadIndexType */ "Type index @0\"@2\" @0incorrect pour tableau \ \"@1\".", /* BadIndexType1 */ "Type manquant; 'int' pris.", /* BadIntgrlType */ "Fichier d'en-tete \"@2\" a inclure \ directement dans corps unite compilation@0 (\"@1\" \ fourni par service \"@2\", et services utilises devrai\ ent etre mentionnes -au debut de- chaque unite de compi\ lation). Si utilise par autre fichier d'en-tete, l'in\ clure egalement dans ce fichier. En cas de fichier d'\ en-tete compose, utiliser d-pragma /*~ComposingHdr*/.", /* BadlyIncldHdrFile */ "Type incorrect pour parametre \"@1\" de 'main'\ @0 (\"@2\").", /* BadParForMain */ "Type rendu@0 (\"@3\")@0 incompatible avec \ type fonction@0 (\"@2\").", /* BadRetType */ "'main' doit rendre type 'int'.", /* BadRetTypeForMain */ "Valeur symbole '__dcc' non constante chaine.", /* BadUUdcc */ "Seconde instruction inclue dans boucle ou \ branche 'if'/'else'? (si oui, utiliser bloc; sinon, \ mettre seconde instruction sur ligne suivante)." /*~zif __index!=BlockQM "Misplaced 'BlockQM'" */, "Borne tableau \"@1\"@0 (declare ligne \ @4@5@6@7@8)@0 devrait etre constante nommee@0 (via \ '#define' ou constante d'enum); nom a utiliser en \ particulier dans verification non-debordement tableau.",/* BndShdBeNamed */ "Borne tableau \"@1\"@0 (declare ligne \ @4@5@6@7@8)@0 devrait etre d'un type nomme, ou \ utiliser d-pragma /*~IndexType*/ dans declaration@0 \ (type index: \"@3\"; type borne: \"@2\").", /* BndShdBeOfNamedType */ "Booleen attendu pour operateur '@1'@0 (type = \ \"@2\").", /* BoolExptd */ "Fonction avec parametre(s) /*~ResultType*/\ ne peut etre @1; @1 ignore.", /* CantBeGeneUtil */ "Fichier d'ajustement ne peut changer \ type/sorte d'un identificateur.", /* CantChgMnng */ "Initialisation n'a pas de sens pour \ 'typedef'.", /* CantInitTpdf */ "'case' attendu.", /* CaseExptd */ "Non portable: verifier la casse (majuscule/\ minuscule) dans nom fichier d'en-tete.", /* ChkUcLc */ "@3 en fin de declaration commencee ligne @4\ @5@6@7.", /* CmplSColE1 */ "Fichier \"@1\" ne peut etre \ /*~ComposingHdr*/ de lui-meme (via fichier \"@2\").", /* CmpsgHdrWithSelf */ "':' attendu.", /* ColExptd */ "',' attendue.", /* CommaExptd */ "Essai de compiler fichier d'en-tete (\"@1\").",/* CompHdrFile */ "Operateur '##' doit etre suivi d'un lexeme; \ lexeme ';' ajoute.", /* ConcOprIlgLast */ "Correspondance incorrecte de qualificatifs \ 'const'/'volatile' dans pointeurs (operateur '@1')\ @0 ( @4type attendu: \"@2\"; @4type expression: \ \"@3\").", /* ConstQalNotHeeded1 */ "Correspondance incorrecte de qualificatifs \ 'const'/'volatile' entre parametres@0 ( @1type \ parametre effectif: \"@3\"; @1type parametre formel:\ \"@2\").", /* ConstQalNotHeeded2 */ "Operande de gauche dont au moins un membre \ est 'const'@0 (@3struct/union \"@1\", declaree/definie \ ligne @4@5@6@7@8); type = \"@2\").", /* ConstStrun */ "Operateur '@1': operande @4converti en \ 'unsigned' (eventuel signe perdu)@0 (type operande \ gauche: \"@2\"; type operande droit: \"@3\").", /* ConvToUnsig */ "Operateur '@1': expression (droite) convertie \ en 'unsigned' (eventuel signe perdu)@0 (type expression\ : \"@3\"; type recepteur: \"@2\").", /* ConvToUnsig1 */ /* "Voulez-vous vraiment faire une copie d'une \ variable 'volatile' ?@0 (variable \"@1\", type: \"@2\")\ ; si oui, la transtyper a non 'volatile'.", * CopyVolat */ "Debordement tampon concatenation \ (augmenter constante 'MaxConcatLvl' dans fichier \ \"configdc.th\", et recompiler dcc).", /* CrtdTokTooLong */ "@1expression booleenne constante; si vraiment \ necessaire, utiliser d-pragma /*~NonConstExp*/ \ (apres une parenthese droite).", /* CstBoolExp */ "Expression constante attendue.", /* CstExpExptd */ "Operande constant de operateur '@1' \ devrait se trouver a droite (pour meilleure \ lisibilite).", /* CstOnLftSide */ "Expression d'aiguillage constante.", /* CstSwitchExp */ "Nom de champ \"@1\" deja utilise dans meme \ struct/union.", /* DblDefMember */ "Struct/union \"@1\" deja definie@0 \ ligne @4@5@6@7@8.", /* DblDefStrun */ "dcc ne peut traiter definition macro \ rencontree en cours de collecte d'argument@0 (collecte \ pour macro \"@1\", appelee ligne @4@5@6@7@8).", /* DccCantProcDef */ "Declaration attendue.", /* DeclExptd */ "Clause 'default' attendue en fin d'\ aiguillage (ou utiliser d-pragma /*~NoDefault*/).", /* DefaultExptd */ "Essai de soustraire deux pointeurs \ incompatibles@0 (gauche: \"@2\"; droit: \"@3\").", /* DiffIncptblPtr */ "Nom de directive attendu.", /* DirNameExptd */ "Un fichier '.c' doit etre compile separement, \ non inclus..@0. (fichier \"@1\").", /* DontInclBodyFile */ "Specification \"@1\" essaye d'ecrire dans \ variable 'const'@0 (type variable: \"@2\").", /* DontWriteIntoConst */ "Nom de d-pragma attendu.", /* DPragNameExptd */ "D-pragma /*~@1*/ autorise seulement dans \ fichier d'en-tete; ignore.", /* DPragNotAlwd */ "Le 'while' correspondant a un 'do' ne devrait \ pas etre aligne avec lui (pour eviter confusion avec \ boucle 'while'). Utiliser '{','}' ?", /* DWhileNotLinedUp */ "'#else' deja vu.", /* ElseAlrdSeen */ "Fonction ne peut etre definie dans corps \ autre fonction.", /* EmbdFctNotAlwd */ "Boucle ou branche de 'if'/'else' vide; si \ vraiment voulu, remplacer ';' par bloc vide.", /* EmptyStmt */ "Struct/union vide.", /* EmptyStrun */ "'*/' attendu (fin de d-pragma).", /* EndDPragLineExptd */ "Caracteres en trop en fin de ligne; ignores.", /* EndOfLineIgnd */ "Directive '#error' rencontree.", /* ErrorDir */ "Declarations 'extern' doivent etre mises dans \ fichier d'en-tete.", /* ExtDeclBeInHdrFile */ "Variable/fonction externe \"@1\" declaree@0 \ ligne @4@5@6@7@8,@0 mais non definie.", /* ExtObjNotDef */ "'}' en trop; ignoree.", /* ExtraRBra */ "';' en trop a fin macro \"@1\" ?@0 \ (definie ligne @4@5@6@7@8).", /* ExtraSColAtEndMac */ "Seuls attributs attendus dans fichier d'en-\ tete: 'extern', 'typedef'.", /* ExtrnExptd */ "Une fonction ne peut etre initialisee.", /* FctCantBeInit */ "Declaration/definition de fonction illegale \ a l'interieur de struct/union.", /* FctDeclNotAlwd */ "Dans definition fonction, nom fonction \ (\"@1\") ne peut acquerir type fonction via \ identificateur de type.", /* FctDefViaTpdf */ "Ouverture impossible (fichier \"@1\" \ non-existant ou inaccessible).", /* FileOpenFail */ "Champ de bits non autorise en dehors de \ struct/union.", /* FldNotAlwd */ "Taille champ bits incorrecte@0 (negative, \ nulle, ou plus grande que largeur d'un 'int'.", /* FldSizIncor */ "Egalite entre quantites flottantes \ generalement mal definie (operateur '@1'); si bien \ definie ici, utiliser d-pragma /*~ExactCmp*/.", /* FltNotEq */ "Format epuise.", /* FmtExhstd */ "Les qualificatifs devraient etre groupes \ ensemble.", /* GroupQual */ "Transtypage risque@0 (type de l'expression: \ \"@2\"; type vise: \"@3\")@0; si reellement voulu, \ utiliser d-pragma /*~OddCast*/." /*~zif __index!=HzrdConv "Misplaced 'HzrdConv'" */, "Transtypage vers type moins qualifie@0 \ (type expression: \"@2\"; type vise: \"@3\"); \ si reellement voulu, utiliser d-pragma /*~OddCast*/.", /* HzrdConv1 */ "Identificateur attendu.", /* IdExptd */ "Identificateur ou ';' attendu@2", /* IdOrSColExptd */ "Caractere(s) ignore(s) en fin d'option \ \"@1\".", /* IgndCharsOpt */ "Taille tableau incorrecte@0 (@1).", /* IlgArraySize */ "Attribut illegal pour identificateur \"@1\".", /* IlgAttrib */ "Seul attribut legal pour definition fonction: \ 'static' (ou rien)@0 (fonction \"@1\").", /* IlgAttribForFct */ "Definition invalide pour type 'bool' \ (doit etre 'unsigned int').", /* IlgBoolDef */ "Ce type@0 (\"@1\")@0 ne peut etre transtype.", /* IlgCastSource */ "On ne peut transtyper vers ce type@0 (\"@1\")\ .", /* IlgCastTarget */ "On ne peut transtyper vers ce type@0 (\"@1\")\ @0; utiliser d-pragma /*~CastTo*/.", /* IlgCastTarget1 */ "D-pragma /*~CastTo*/ illegal@0 (types n'\ ont pas meme type de representation)@0; ignore \ (utiliser vrai transtypage)@0 (type expression: \"@3\";\ type cible: \"@2\").", /* IlgCastTo */ "Caractere illegal: '@1' (peut-etre \ invisible).@0 Code: 0x@2.", /* IlgChar */ "Caractere illegal: '$'; peut etre legalise \ dans identificateurs en utilisant d-pragma \ /*~DollarSign*/ au debut unite compilation).", /* IlgCharD */ "D-pragma /*~ComposingHdr*/ illegal dans \ fichier 'corps', ou pour inclusion \ fichiers non 'en-tete'; ignore.", /* IlgCmpsgHdr */ "Fichier \"@1\" ne devrait pas etre marque \ /*~ComposingHdr*/.", /* IlgCmpsgHdr1 */ "Hierarchie d'inclusion de fichiers \ bizarre.", /* IlgCmpsgHdr2 */ "Operateur '##': lexeme cree invalide@0 (`@1`).\ @2 Remplace par lexeme ';'.", /* IlgCrtdTok */ "D-pragma /*~DccCompliant*/ seulement \ utilisable dans fichier d'en-tete systeme.", /* IlgDccCmpl */ "Nom de directive invalide.", /* IlgDirName */ "D-pragma @1 mal utilise; ignore.", /* IlgDPrag */ "Sequence echappement invalide@0 (code \ echappement: 0x@1).", /* IlgEscSeq */ "Caractere de conversion inconnu (\ specification \"@1\").", /* IlgFmtSpe */ "Identificateur \"@1\" ne nomme ni \ variable ni fonction ni constante d'enum.", /* IlgId */ "Argument '#include' illegal.", /* IlgInclArg */ "Illegal dans expression '#if'.", /* IlgInIfExp */ "Variable \"@1\": initialisation non \ autorisee (declaration externe).", /* IlgInit */ "Utilisation d-pragma /*~Init*/ absurde pour \ variable \"@1\".", /* IlgInitBU */ "Operateur '@1': type gauche illegal@0 (\"@2\")\ .", /* IlgLftType */ "Chiffre octal illegal@0 (code: 0x@1).", /* IlgOctDig */ "Operande illegal pour '@1'@0 (\"@2\").", /* IlgOpndType */ "Modificateur invalide (specification \"@1\").",/* IlgOptForSpe */ "Champ 'precision' incorrect (specification\ \"@1\").", /* IlgPrecFld */ "Operateur '@1': type droit illegal@0 (\"@2\").",/* IlgRhtType */ "Specification \"@1\" invalide pour type \ \"@2\".", /* IlgSpeForType */ "Syntaxe illegale.", /* IlgSynt */ "Operateur '%' non defini sur type flottant@0 \ (gauche: \"@2\", droit: \"@3\").", /* IlgTCModOpnd */ "Operateur parmi {+ - * / %} attendu.", /* IlgTcOptr */ "Type illegal@0: \"@1\".", /* IlgType */ "Type illegal@0 (\"@2\")@0 pour largeur/\ precision@0 (specification \"@1\").", /* IlgTypeForFld */ "Operandes de types illegaux pour operateur \ '@1'@0 (gauche: \"@2\"; droit: \"@3\").", /* IlgTypes */ "Corps de macro, ou parametre, mal parenthese \ ? (operateur '@1').", /* IllParenMacro */ "Une declaration ne peut venir apres une \ instruction.", /* IllPositDecl */ "D-pragma /*~Undef{Tag}*/ a n'utiliser qu'en \ dehors de fonction." /*~ zif __index!=IllUndef "Misplaced 'IllUndef'" */, "Le fichier \"@2\" devrait etre inclus apres \ le fichier \"@3\"@0 (il redeclare la variable/fonction \ \"@1\").", /* IncldAfter */ "Type parametre no.@1 incoherent avec type \ rendu par fonction; d-pragma @4 ignore@0 (type \ parametre: \"@2\"; type rendu: \"@3\").", /* IncohResultType */ "Fonction /*~NeverReturns*/ \"@1\" rend \ controle ...", /* IncorNevRet */ "Type resultat pour '%' devrait etre type \ operande gauche.", /* IncorTCModRes */ "Type specifie pour resultat incoherent avec \ regles conversion de C@0 (type operandes: \"@2\", \ \"@3\").", /* IncorTCResTyp */ "Elements du tableau \"@1\"@0 (declare ligne \ @4@5@6@7@8)@0 de type incomplet ou void ou fonction@0 \ (\"@2\").", /* IncplArray */ "Macro \"@1\": parametre incomplet.", /* IncplPar */ "Pointeur \"@1\"@0 (declare/defini ligne \ @4@5@6@7@8)@0: elements pointes de type incomplet ou \ void ou fonction@0 (\"@2\").", /* IncplPtr */ "Type rendu par fonction \"@1\" incomplet ou \ fonction@0 (\"@2\").", /* IncplRetType */ "Operateur '@3': type incomplet@0 (\"@2\")@0 \ pour struct/union \"@1\"@0 (declaree ligne \ @4@5@6@7@8).", /* IncplStrunType */ "Type incomplet ou void ou fonction pour \ identificateur \"@1\"@0 (\"@2\").", /* IncplType */ "Fonction \"@1\": attribut devrait etre @2 \ (cf declaration ligne @4@5@6@7@8)." /*~ zif __index!=IncptblAttrib "Misplaced 'IncptblAttrib'" */, "Incompatibilite entre parametre formel et \ effectif pour fonction \"@1\"@0 (declaree/definie \ ligne @4@5@6@7@8); type parametre effectif: \"@2\", \ type parametre formel: \"@3\".", /* IncptblPar */ "Operateur '@1': operandes de types \ incompatibles@0 (gauche: \"@2\"; droit: \"@3\").@4", /* IncptblTypes */ "Type index (\"@2\") trop etroit pour valeur \ borne (@3) tableau \"@1\"@0 (declare/defini \ ligne @4@5@6@7@8).", /* IndexTypeTooSmall */ "Index (@1) superieur ou egal a borne (@2).", /* IndexValTooBig */ "Appel fonction \"@1\" passe en parametre \ a macro l'utilisant plusieurs fois@0: inefficace au \ mieux, effets secondaires multiples au pire.", /* IneffOrSideEff */ "; si normal, utiliser d-pragma \ /*~Init */", /* InitDP */ "Erreur lecture (fichier \"@1\").", /* InptFileErr */ "Type 'int' non portable pour champ de bits \ (interprete comme signe ou non signe selon plateforme\ )@0; type = \"@1\".", /* IntBitField */ "Type entier ou booleen attendu.", /* IntgrlTypeExptd */ "Entier non signe attendu.", /* IntgrNbExptd */ "'{' attendue." /*~zif __index!=LBraExptd "Misplaced 'LBraExptd'" */, "Operateurs '#' et '##' seulement autorises \ dans definition macro; ignores.", /* LegalOnlyInMac */ "Longueur constante caractere non egale a 1.", /* LgtCharCstNotOne */ "Pour fichier d'en-tete, utiliser 'h', non \ 'H'.", /* LowerCaseH */ "'(' attendue.", /* LParExptd */ "Parenthese gauche devrait etre en dehors de \ macro.", /* LParOutsideMac */ "Macro \"@1\" deja definie ligne \ @4@5@6@7@8; nouvelle definition ignoree.", /* MacAlrdDef */ "Nom de macro attendu.", /* MacNameExptd */ "Modifications @3 via parametre formel \ \"@1\"@0 (defini ligne @4@5@6@7@8)@0 de fonction \"@2\"\ @0; si normal, utiliser d-pragma /*~MayModify*/.", /* MayModify */ "Un champ ne peut etre initialise.", /* MemberCantBeInit */ "Les etiquettes sont a placer en debut \ d'instruction.", /* MisplaLbl */ "Valeurs bizarres pour operandes pointeurs ?", /* MnlsPtrDiff */ "Variable externe \"@1\" deja declaree \ (ligne @4@5@6@7@8) avec type plus strict ou \ incompatible@0 (type declaration: \"@2\"; type \ courant: \"@3\")@0; declaration courante ignoree.", /* MoreStrngType */ "Attribut deja specifie.", /* MoreThanOneAttrib */ "'break' manquant? (si vraiment voulu, \ utiliser d-pragma /*~NoBreak*/).", /* MsngBreak */ "Operateur '##' a preceder d'un lexeme; \ ignore.", /* MsngConcOpnd */ ", ou qualificatif 'const' manquant dans \ parametre formel auquel adresse de \"@1\" est passee", /* MsngConstQM */ "'#endif' manquant.", /* MsngEndif */ "'==' manquant ?", /* MsngEqual */ "Expression manquante.", /* MsngExp */ " ('extern' ou 'typedef' manquant ?)", /* MsngExtTpdf */ "Declaration de fonction \"@1\": attribut \ manquant ('static' pris).", /* MsngFctAttrib */ "Nom de fonction manquant.", /* MsngFctName */ "Parenthese manquante apres nom fonction ?", /* MsngFctParen */ "Specification \"@1\" devrait indiquer \ taille limite, pour eviter debordement tableau \ recepteur.", /* MsngFldWdth */ "Specification \"@1\" devrait indiquer \ taille limite, pour eviter debordement tableau \ recepteur (si debordement garanti impossible, \ utiliser d-pragma /*~SizeOK*/).", /* MsngFldWdth1 */ "'if' manquant (ou '}' oubliee ?).", /* MsngIF */ "Macro \"@1\": arguments manquants; \ remplaces par arguments vides@0 (macro definie \ ligne @4@5@6@7@8)." /*~ zif __index!=MsngMacArg "Misplaced 'MsngMacArg'" */, "Nom de champ manquant.", /* MsngMembName */ "Fonction \"@1\" a marquer /*~NeverReturns*/.", /* MsngNevRet */ "Nom de variable/fonction/type manquant.", /* MsngObjTypName */ "Variable/fonction \"@1\": attribut 'static' \ manquant ?@0 (ou, si vraiment externe, a declarer \ comme 'extern' dans un fichier d'en-tete \"@2.h\", \ a inclure).", /* MsngStati */ "Mot-cle 'struct'/'union'/'enum' manquant ?", /* MsngStrunEnum */ "Utiliser 'void' pour specifier absence de \ parametre.", /* MsngVoid */ "Nom \"@1\" deja utilise (defini ligne \ @4@5@6@7@8); redefini (si reellement voulu, utiliser \ d-pragma /*~Masking*/).", /* NameAlrdInUse */ "Indice negatif.", /* NegIndexVal */ "Attributs non permis.", /* NoAttribAlwd */ "Pas de nom d'unite de compilation donne.", /* NoCUName */ "Pas de definition de variable/fonction dans \ un fichier d'en-tete@1.", /* NoDefInHdrFile */ "Directives non autorisees dans d-pragma; \ ignorees.", /* NoDirInDPrag */ "Il n'existe pas de type plus 'haut' parmi \ les parametres effectifs (correspondants aux parametres\ formels /*~ResultType*/) de cet appel de fonction@0 \ (resultType precedent: \"@2\"; type parametre \ effectif courant: \"@3\").", /* NoHghrTyp */ "Nom de variable (\"@1\") non autorise dans \ definition de type.", /* NoIdAlwdInType */ "Premier lexeme fonction (apres '{') devrait \ etre sur nouvelle ligne, et non a son debut, de \ maniere a indiquer indentation choisie.", /* NoIndentIndct */ "Utilisation de d-pragma non coherente entre \ definition fonction \"@1\" et declaration@0 \ (ligne @4@5@6@7@8)@0; declaration l'emporte.", /* NonCoheDPInFct */ "Operateur non commutatif.", /* NonCommutOper */ "Transtypage depourvu de sens.", /* NonNumCantBeCast */ "Transtypage non portable ?@0 (type \ expression: \"@2\"; type vise: \"@3\"); si \ reellement voulu, utiliser d-pragma /*~PortableQM*/ \ ou, si en fait toujours garanti portable, d-pragma \ /*~OddCast*/.", /* NonPortCastQM */ "Operateur '@1': affectation non portable@0 \ (type expression: \"@3\"; type recepteur: \"@2\").", /* NonPortCmbn */ "Operateur '@1': operande droit non portable@0 \ (\"@2\")@0 pour operande gauche@0 (\"@3\").", /* NonPortOpnd */ "Combinaison de types non portable@0 (pourrait \ donner \"unsigned @1\").", /* NonPortTC */ "Macro \"@1\" ne peut etre '#undef'inie.", /* NonUndfnblMac */ "Etiquette \"@1\"@0 (definie ligne \ @4@5@6@7@8)@0 non visible d'ici.", /* NonVisiLabel */ "Operateur '@1': pas de relation d'ordre entre \ pointeurs sur 'void' ou sur fonction@0 (type gauche: \ \"@2\"; type droit: \"@3\").", /* NoOrderRel */ "Pas de '#if' avant.", /* NoPrecIf */ "Qualificatifs non admis.", /* NoQualifAlwd */ "Manque 'return' en fin de fonction \"@1\".", /* NoRetAtEnd */ "Corps de quelle fonction ?", /* NotAFct */ "Fonction '__index' utilisee en dehors \ initialisation de tableau." /*~ zif __index!=NotArrInit "Misplaced 'NotArrInit'" */, "Tableau ne peut etre transtype en type \ entier@0 (type expression: \"@2\"; type vise: \ \"@3\").", /* NotArrToNum */ "Caractere non ASCII (peut-etre invisible; \ code: 0x@1).", /* NotASCIIChar */ "Pas de /*~TypeCombination*/ permettant \ \"@1@2@3\".", /* NoTCAllows */ "Tag \"@1\" non defini.", /* NotDefTag */ "Fonction '__extent': identificateur \"@1\" \ non type 'enum' ni tag d'enum.", /* NotEnumTypeOrTag */ "Operateur '@1': type expression incorrect\ @0 (\"@2\"); type attendu: \"@3\".", /* NotExptdType */ "Variable locale \"@1\" non initialisee@2.", /* NotInit */ "Variable locale \"@1\" non initialisee (ligne \ @4@5@6@7@8)@2.", /* NotInit1 */ "En dehors boucle.", /* NotInsideLoop */ "En dehors boucle ou aiguillage.", /* NotInsideLoopOrSwitch */ "En dehors aiguillage.", /* NotInsideSwitch */ "En dehors aiguillage, ou apres 'default'.", /* NotInsideSwitch1 */ "Operateur '@1': l'operande @2n'a pas d'\ adresse.", /* NotLVal */ "Le tableau parametre effectif n'a pas \ d'adresse.", /* NotLValP */ "Operateur '#': operande doit etre \ parametre de macro; operateur ignore.", /* NotMacParForQuo */ "Operateur '@2': operande (gauche) 'const'@0 \ (@3objet \"@1\", declare ligne @4@5@6@7@8).", /* NotModfbl */ "Initialiseur de struct/union non nomme, ou \ constantes litterales dedans.", /* NotNamedStrunCst */ "Valeur expression non utilisee.", /* NotPureSideEffect */ "Valeur fonction \"@1\" non utilisee \ (si son effet principal est un effet secondaire, \ peut etre marquee /*~PseudoVoid*/).", /* NotPureSideEffect1 */ "Fonction \"@1\": nombre parametres \ different entre declaration@0 (ligne @4@5@6@7@8)@0 et \ definition." /*~ zif __index!=NotSameNbOfPar "Misplaced 'NotSameNbOfPar'" */, "Variable/fonction \"@1\": type definition@0\ (\"@2\")@0 ne correspond pas a type declaration@0 \ (\"@3\"), ligne @4@5@6@7@8@0; type definition ignore.", /* NotSameType */ "Fonction '__member' utilisee en dehors \ initialisation de struct/union.", /* NotStrunInit */ "\"@1\" n'est pas un type.", /* NotTypeId */ "Constante d'enum \"@1\" censee etre \ /*~NotUsed*/ ?!!", /* NotUsdEnumCst */ "Variable\"@1\" censee etre /*~NotUsed*/ ?!!", /* NotUsdObj */ "Parametre \"@1\" cense etre /*~NotUsed*/ ?!!", /* NotUsdPar */ "\"@1\" n'est pas une variable (locale).", /* NotVarId */ "Caractere invisible (code: 0x@1).", /* NotVisiChar */ "Constante numerique a nommer@0 (via '#define' \ ou constante d'enum). Voir aussi d-pragma \ /*~LiteralCst*/.", /* NumCstShdBeNamed */ "Nommer egalement les constantes dans les \ macros (ou sinon les parentheser).", /* NumCstShdBeNamed1 */ "Declaration de fonction \"@1\": seul \ attribut autorise dans bloc est 'extern'.", /* OnlyExtrn */ "Seul attribut autorise: 'register'.", /* OnlyRegAttrib */ "Operateur '@1': valeur operande @2\ peut-etre en dehors domaine {0, 1}, aussi utiliser \ operateurs logiques '&&', '||', '!', ou comparer a \ Faux.", /* Outside01 */ "Operateur '@1': debordement@0 (pour type \ \"@2\").", /* Overflow */ "Debordement.", /* Overflow1 */ "Operateur '@1': troncation gauche@0 (pour \ type \"@2\").", /* Overflow2 */ "Macro \"@1\": nom de parametre \"@2\" \ deja utilise.", /* ParAlrdExist */ "Parametres formels doivent etre nommes.", /* ParMustBeNamed */ "Macro \"@1\": nom de parametre attendu.", /* ParNameExptd */ "Fonction \"@1\": nom parametre formel \ \"@2\" different nom correspondant dans \ declaration fonction@0 (ligne @4@5@6@7@8).", /* ParNamesNotEq */ "Parametre non /*~Generic*/ ni /*~ResultType*/,\ donc ne devrait pas etre d'un type de representation@0\ (type parametre \"@2\").", /* ParRepreType */ "Type parametre formel \"@1\"@0 (\"@3\")@0 \ incoherent avec declaration fonction@0 \ (\"@2\"), ligne @4@5@6@7@8; ignore.", /* ParTypesNotEq */ "Transtypage potentiellement non portable@0 \ (type expression: \"@2\"; type vise: \"@3\")@0; si reel\ lement voulu, utiliser d-pragma /*~PortableQM*/.", /* PortableCastQM */ "Operateur '@1': debordement si expression \ 'unsigned' trop grande@0 (type expression: \ \"@3\"; type recepteur: \"@2\").", /* PossOvfl */ "Transtypage precedent inutile@0 (de \"@2\" a \ \"@3\").", /* PrevCastUsl */ "Type \"@1\" prive: constantes/membres non \ visibles d'ici@0 (\"@3\", defini ligne @4@5@6@7@8).", /* PrivNotVisi */ "Specification \"@1\" attend pointeur@0 \ (type argument: \"@2\").", /* PtrExptd */ "Seul pointeur sur fonction peut etre \ parametre (parametre \"@1\", type \"@2\").", /* PtrOnFctExptd */ "Fonction \"@2\": pointeur \ \"@1\"@0 (defini ligne @4@5@6@7@8)@0 \ devrait pointer sur element 'const'@3.", /* PtrShdBeConst */ "Pointeur devrait etre transtype vers size_t \ (ou unsigned long(long)); sinon utiliser d-pragma \ /*~OddCast*/@0 (type pointeur: \"@2\"; type vise: \ \"@3\").", /* PtrToNum */ "'}' attendue.", /* RBraExptd */ "',' or '}' attendue.", /* RBraOrCommaExptd */ "Pas d'adresse pour registre ni champ de bits.",/* RegAttribForAmp */ "Attribut 'register' incompatible avec \ qualificatif 'volatile'.", /* RegVolatIncptbl */ "Fonctions devraient rendre type d'information \ (par ex. \"Position\")@0, sauf si d-pragmas \ /*~ResultType*/, /*~Generic*/ ou /*~Utility*/ utilises \ (type rendu = type de representation \"@1\").", /* ResRepreType */ "Parametre /*~ResultPtr*/ doit avoir type le \ plus haut parmi tous les parametres /*~ResultType*/@0 \ (type parametre courant: \"@2\", type @1: \"@3\").", /* ResulPtrNotHgHsTyp */ "Essai de rendre pointeur sur objet 'auto'.", /* RetPtrOnLclAd */ "')' attendue.", /* RParExptd */ "',' or ')' attendue.", /* RParOrCommaExptd */ "']' attendu.", /* RSBrExptd */ "Constante d'enum \"@1\" a meme valeur \ (@2) qu'une precedente (\"@3\"); si reellement \ voulu, utiliser d-pragma /*~SameValue*/.", /* SameEnumCst */ "Nom de parametre \"@1\" utilise plus d'une \ fois dans definition fonction.", /* SameParName */ "';' attendu.", /* SColExptd */ "';' attendu@2", /* SColExptd1 */ "Instructions a separer des declarations par \ au moins une ligne blanche (ou utiliser \";;\").", /* SepDeclStmt */ "Aiguillage devrait porter sur bloc." /*~zif __index!=ShdBeBlk "Misplaced 'ShdBeBlk'" */, "Cette declaration de la fonction \"@1\" \ devrait, avec un attribut 'extern', se trouver dans un \ fichier d'en-tete inclus ici.", /* ShdBeInHdrFile */ "Expression booleenne non parenthesee.", /* ShdBePrntzBool */ "Argument devrait etre tableau, non pointeur \ sur tableau@0 (tableau passe par adresse, non par \ valeur).", /* ShdntBePtrOnArr */ "Effet secondaire via parametre de macro \ servant plus d'une fois (operateur '@1').", /* SideEffInMacPar */ "Seul operateur permis: '='.", /* SimplAsgnExptd */ "'sizeof' sur constante caractere => sizeof\ ('int') !", /* SizeofCharCst */ "Operande 'sizeof' non evalue.", /* SizeofDontEval */ "Initialisation de variable 'auto' a eviter@0 \ (lente et gache memoire). La variable devrait etre \ declaree 'static'. Si vraiment non adequat, utiliser \ d-pragma /*~DynInit*/.", /* SlowingInit */ "Fonction 'static' \"@1\" declaree@0 ligne \ @4@5@6@7@8,@0 mais non definie.", /* StaFctNotDef */ "Fichier a inclure avant cette \ ligne.", /* StddefNotIncl */ "Instruction attendue.", /* StmtExptd */ "Constante chaine attendue.", /* StrCstExptd */ "Chaine \"@1\" trop longue.", /* StringTooLong */ "Nouveau type non definissable ici.", /* StrunEnumDeclNotAlwd */ "Erreur interne:: @1.", /* SysError */ "Tag \"@1\" non visible ici.", /* TagNotVisi */ "Nom de tag a preceder de 'enum'/'struct'/\ 'union' pour etre nom de type@0 (\"@1\").", /* TagQM */ "Etiquette \"@1\" cible d'au moins un \ 'goto' qui ne peut la voir (ligne @4@5@6@7@8).", /* TargLabelNotVisi */ "/*~TypeCombination*/ \"@1@3@2\" est \ incompatible/redondante avec combinaison definie/\ deduite de ligne @4@5@6@7@8.", /* TCAlrdDef */ "D-pragma /*~TypeCombination*/ ne peut etre \ utilise qu'en dehors de fonction.", /* TCNotAtLvl0 */ "Trop de niveaux d'accolades.", /* TooManyBraLvl */ "Moins de parametres que demande par les \ specifications du format.", /* TooManyFmtSpe */ "Trop d'initialiseurs.", /* TooManyIniz */ "Appel de la macro \"@1\": trop d'arguments@0 \ (appel ligne @4@5@6@7@8).", /* TooManyMacArg */ "Macro \"@1\": plus de @2 parametres.", /* TooManyMacPar */ "Trop de messages; termine.\n", /* TooManyMsg */ "Trop de parametres pour 'main'.", /* TooManyParForMain */ "Identificateur trop long (plus de 31 \ caracteres).", /* TrnctdId */ "Operateur '@1': operandes incompatibles; \ essayer de les permuter@0 (type gauche: \"@2\"; type \ droit: \"@3\").", /* TryPermut */ "Nom de type attendu; 'int' pris.", /* TypeExptd */ "Type \"@1\" non type numerique parallele.", /* TypeNotParal */ "Commentaire non ferme quelque part avant ?", /* UnclosedCmt */ "D-pragma non termine ?", /* UnclosedDP */ "Adresse non calculable par editeur de lien.", /* UncomputAd */ "Tag ou '{' manquant.", /* UndefEnum */ "Fonction \"@1\" non declaree.", /* UndefFctId */ "Identificateur \"@1\" non declare.", /* UndefId */ "Etiquette \"@1\" de fonction \"@2\" non \ definie (utilisee au moins ligne @4@5@6@7@8).", /* UndefLabel */ "Operation '@3' tentee sur pointeur \ (\"@1\") vers type sans taille@0 (\"@2\"); \ pointeur declare/defini ligne @4@5@6@7@8.", /* UndefPtdType */ "Operateur '@1': valeur illegale (@2) pour \ operande droit@0 (type:\"@3\" => resultat non defini).",/* UndefResul */ "Operateur '@1': type sans taille (\"@2\").", /* UndefSize */ "Struct/union non definie.", /* UndefStrun */ "Tag \"@1\" non defini (declare ligne \ @4@5@6@7@8).", /* UndefTag */ "Operateur '@1': sous-passement.", /* Underflow */ "Identificateur \"@1\" non visible d'ici (\ marque /*~Undef*/ini).", /* UndfndId */ "Appel de la macro \"@1\" (ligne @4@5@6@7@8): \ argument non termine (pour le parametre #@2).", /* UnFnshArgList */ "Constante caractere non terminee.", /* UnFnshCharCst */ "Commentaire non ferme.", /* UnFnshCmt */ "'@1' manquant.", /* UnFnshFileName */ "Constante chaine non terminee.", /* UnFnshStrCst */ "D-pragma inconnu.", /* UnknDPrag */ "Identificateur inconnu (\"@1\").", /* UnknId */ "Macro inconnue (\"@1\").", /* UnknMacro */ "Operateur '@1': champ \"@3\" ne fait pas \ partie de struct/union@0 \"@2\".", /* UnknMember */ "Option inconnue: \"@1\".", /* UnknOption */ "Instruction inaccessible.", /* UnreachStmt */ "Operateur '@1': comparaison d'expressions \ comportant soustraction de 'unsigned' (difference \ jamais negative !); ajouter plutot a autre operande, \ ou, si correct, utiliser d-pragma /*~CastTo*/.", /* UnsigDiffNotNeg */ "Operateur '@1': valeur 'unsigned' ne peut \ etre negative.", /* UnsigNonNeg */ "Type incorrect pour champ@0 (\"@1\").", /* UnsuitFldType */ "Constante d'enum \"@1\" non utilisee (definie \ ligne @4@5@6@7@8); d-pragma /*~NotUsed*/ manquant ?" /*~ zif __index!=UnusedEnumCst "Misplaced 'UnusedEnumCst'" */, "Fonction \"@1\" non utilisee@0 (declaree\ /definie ligne @4@5@6@7@8).", /* UnusedFct */ "Identificateur \"@1\" non utilise (declare\ /defini ligne @4@5@6@7@8).", /* UnusedId */ "Etiquette \"@1\" non utilisee (definie ligne \ @4@5@6@7@8).", /* UnusedLabel */ "Parametre de macro \"@1\" non utilise@0 \ (defini ligne @4@5@6@7@8); si adequat, utiliser \ d-pragma /*~NotUsed*/.", /* UnusedMacPar */ "Fonction \"@2\": valeur (finale) parametre \ formel \"@1\" non utilisee, ou d-pragma /*~NotUsed*/ \ manquant?@0 (parametre defini ligne @4@5@6@7@8).", /* UnusedPar */ "Tag de struct/union/enum \"@1\" non utilise \ (defini ligne @4@5@6@7@8).", /* UnusedTag */ "Identificateur de type \"@1\" non utilise \ (defini ligne @4@5@6@7@8).", /* UnusedTypeId */ "Valeur (finale) variable \"@1\" non utilisee@3\ (variable definie ligne @4@5@6@7@8).", /* UnusedVar */ "Valeur precedente variable \"@1\" non \ utilisee@3.", /* UnusedVar1 */ "Nom de type cree @0(\"@1\") @0devrait \ commencer par majuscule (ex. Voltage).", /* UpCaseTypName */ "Utiliser d-pragma /*~IndexType*/ dans \ declaration pointeur \"@1\"@0 (ligne @4@5@6@7@8); \ type index/ajout: \"@3\", mais \"@2\" attendu par \ defaut.", /* UseIndexTypForPtr */ " Utiliser d-pragma /*~TypeCombination*/ ?", /* UseTC */ "Attribut denue de sens@0 (aucune variable \ definie; cette construction n'est qu'une declaration \ de struct/union/enum).", /* UslAttrib */ "Transtypage inutile@0 (type expression: \ \"@2\"; type vise: \"@3\"); si vraiment necessaire, \ utiliser d-pragma /*~OddCast*/.", /* UslCast */ "D-pragma /*~CastTo*/ inutile@0 (type \ expression: \"@3\"; type cible: \"@2\").", /* UslCastTo */ "D-pragma @1 inutile.", /* UslDPrag */ "Qualificatif inutile pour fonction@0 (type: \ \"@1\").", /* UslFctQual */ "D-pragma /*~Init*/ inutile pour variable \ \"@1\".", /* UslInitBU */ "D-pragma /*~NoDefault*/ inutile@0 (l'aiguilla\ ge teste toute les valeurs distinctes des constantes \ d'enum. Si cela doit rester ainsi, utiliser d-pragma \ /*~FullEnum*/ pour le verifier).", /* UslNoDefault */ "Variable \"@1\" inutile (definie ligne \ @4@5@6@7@8).", /* UslObj */ "Specificateur de type inutile/incoherent.", /* UslTypSpe */ "Fonction \"@1\": declaration@0 (ligne \ @4@5@6@7@8)@0 variadique et definition non variadique, \ ou vice-versa.", /* VariNotVari */ "Un specificateur 'void' sans modificateur doit\ etre seul.", /* VoidNotAlone */ "Type \"void\" illegal (parametre \"@1\").", /* VoidNotAlwd */ "Remarques deja inhibees.", /* WarnAlrdOff */ "Remarques deja autorisees.", /* WarnAlrdOn */ "'while' attendu.", /* WhileExptd */ "Variable/fonction externe \"@1\"@0 (declaree \ au moins dans fichier d'en-tete \"@6\", ligne @4)@0 \ pas definie dans bonne unite compilation@0; devrait \ etre definie dans unite compilation telle que un \ seulement des fichiers d'en-tete inclus la declare.", /* WrngCUnit */ "Type de l'aiguillage non 'enum', ou \ constantes de ce type pas toutes utilisees comme \ valeurs de 'case'.", /* WrngFullEnum */ "Variable/fonction externe \"@1\" pas declaree \ dans bon fichier d'en-tete@0 (declaree dans fichier \ \"@6\" (ligne @4), qui n'est pas fichier d'en-tete \ correspondant a unite compilation courante (\"@2\"), \ ni fichier (non d'en-tete) inclus dans ce fichier.", /* WrngHdrFile */ "Nombre incorrect (combinaison illegale de \ signe/base/suffixe).", /* WrngNb */ "Exposant incorrect de nombre.", /* WrngNb1 */ "Utilisation incorrecte d-pragma /*~SameValue*/\ : constante d'enum \"@1\" (@2) egale a aucune constante\ precedente du type.", /* WrngSameVal */ "Argument 'sizeof' incorrect ?@0 (type argument\ : \"@2\"; devrait etre: \"@3\").", /* WrngSizeof */ "'Zif' non faux; message: \"@1\"." /*~ zif __index!=ZifWarn "Misplaced 'ZifWarn'" */, /* End DCMSG.FRE */