Warning gcc Olimit

Warning gcc Olimit - C++ - Programmation

Marsh Posté le 06-08-2007 à 16:11:51    

Que signifie le warning:
 
Warning: Olimit was exceeded on function
 
(compilation de c++ avec gcc 2.95)
 
Merci !

Reply

Marsh Posté le 06-08-2007 à 16:11:51   

Reply

Marsh Posté le 06-08-2007 à 16:18:57    

Aucune idee.  Je conseille fortement pour du C++ de passer a un compilateur plus recent.

Reply

Marsh Posté le 06-08-2007 à 16:23:31    

J'ai pas le choix. c'est pas sur x86 ni linux/windows, ceci expliquant cela.

Reply

Marsh Posté le 06-08-2007 à 16:45:05    

Aucune idée de ce que peut représenter ce warning, et je ne trouve rien dans les docs que j'ai pu zieuter, que ce soit online ou sur mon OS (Sun Solaris 8)

Reply

Marsh Posté le 06-08-2007 à 16:47:11    

Oui moi non plus rien dans man gcc ni info gcc. Bizarre.

Reply

Marsh Posté le 06-08-2007 à 16:48:41    

Balance le code incriminé, histoire de voir ?

Reply

Marsh Posté le 06-08-2007 à 17:07:18    

Quand tu poses une question, tu peux donner le message complet de gcc?  Une recherche sur le net donne l'impression que le message que tu cites est incomplet et qu'il y a des choses interessantes apres.  D'apres cette recherche, le compilateur a arrete d'optimiser la fonction parce qu'une structure interne prend trop de place.  Le message indique comment augmenter cette taille.


Message édité par Un Programmeur le 06-08-2007 à 17:07:42
Reply

Marsh Posté le 06-08-2007 à 17:08:13    

Désolé j'aimerais bien mais j'ai pas le droit (pb. de confidentialité). Et la ligne exacte qui cause le warning n'est pas spécifiée.

Reply

Marsh Posté le 06-08-2007 à 17:09:24    

gcc -o ...

 

Warning: Olimit was exceeded on function ... will not optimize.
        To optimize use -OPT:Olimit=0 (off) or -OPT:Olimit=3167
(Compiler may run out of memory or run very slowly for large Olimit values)


Message édité par Profil supprimé le 06-08-2007 à 17:09:59
Reply

Marsh Posté le 06-08-2007 à 17:24:06    

 

[:el g]

 

T'es pas le seul à devoir prendre en considération le problème de confidentialité, hein. Et il est évident qu'on ne te demande pas le programme entier. En toute logique, tu peux reproduire le problème dans un code à part et réduit, ou bien nous expliquer quelle genre de code c'est, etc, sans poser de souci de confidentialité.

 

Il m'arrive de poster des screenshots (avec des caches noirs) ou des parties de code, il suffit de faire attention. Et je ne suis même pas un forumeur anonyme, si l'on veut me retrouver il n'y a pas beaucoup de mal à se donner. [:dawao]

 

Bref, il peut être intéressant de montrer un bout de code qui reproduit le problème, ne serait-ce que pour notre culture personnelle, et surtout parce qu'on peut aller plus vite à diagnostiquer ton souci. ;)


Message édité par Elmoricq le 06-08-2007 à 17:25:49
Reply

Marsh Posté le 06-08-2007 à 17:24:06   

Reply

Marsh Posté le 06-08-2007 à 17:33:13    

Qu'est-ce que tu ne comprends pas dans le message?  Il n'optimise pas la fonction dont tu as enleve le nom.  Si tu veux l'optimiser, tu dois utiliser l'option qu'il te donne.

Reply

Marsh Posté le 06-08-2007 à 17:50:37    

J'suis néanmoins curieux de savoir ce qui peut provoquer un tel message, et sa signification exacte...

Reply

Marsh Posté le 06-08-2007 à 18:10:32    

Un Programmeur a écrit :

Qu'est-ce que tu ne comprends pas dans le message?  


 
Sauf que Olimit n'existe pas dans la doc de gcc. Qu'un warning c'est jamais bon, surtout quand on n'en connait pas la cause. Que je compile en warning=error et que ce warning n'est PAS considéré comme une erreur.
 
Pour le code je ne sais pas d'où ça vient exactement mais c'est dans du code de test qui utilise le framework cppunit (pour ceux qui connaissent). c'est une suite de test sans rien de particulier par rapport aux autres suites de test du projet.

Reply

Marsh Posté le 06-08-2007 à 21:22:09    

C'est un code qui fait exploser un tableau interne de gcc durant l'optimisation.  On te donne un paramètre pour changer la taille de ce tableau.  C'est normal que warning=error n'influence pas ce warning, il ne signale pas un problème potentiel dans le code.

Reply

Marsh Posté le 07-08-2007 à 09:50:03    

Oui sauf que -OPT ou -Olimit n'est pas une option valide de gcc. Donc je ne vois pas quelle config ou quel code a pu causer ce probleme ni comment le résoudre (ie. comment spécifier l'option tel que conseillé par le message de gcc).

Reply

Marsh Posté le 07-08-2007 à 10:22:11    

En regardant mieux le texte precedant les messages dans ma recherche google, je vois que les references que j'ai trouvees utilisent un autre compilateur que gcc.
 
Et effectivement, Olimit n'apparait dans les sources de gcc que comme option a passer a un autre compilateur lors du bootstrap.
 
Est-ce que tu utilises bien gcc?

Reply

Marsh Posté le 07-08-2007 à 16:01:21    

Oui c'est bien gcc. mais de ce que je sais gcc n'est "qu'un" front-end mais il appelle plein d'executables différents. J'ai l'impression que ce message vient d'un truc appelé cc1plus mais j'ai pas trouvé ce que c'est exactement. J'ai pas d'exec de ce nom dans le directory ou se trouve mes gcc, ld, etc...
 
Bizarre. En tous cas ça a l'air d'etre la cause d'un bug que je cherche depuis quelques jours (à confirmer).

Reply

Sujets relatifs:

Leave a Replay

Make sure you enter the(*)required information where indicate.HTML code is not allowed