[c]: Warning: Variable `x' might be clobbered ....

Pagina: 1
Acties:

  • Rowwan
  • Registratie: November 2000
  • Laatst online: 09:39
Wegens performance redenen maak ik gebruik van 'setjump' ipv de normale exception handling...

Nu krijg ik vaak de waarschuwing:
Variable `x' might be clobbered by `longjmp' or `vfork'

Deze waarschuwing kan geen kwaad (opgezocht op internet), dus ik wil hem onderdrukken bij het compilen.. Maar hoe?? Hij heeft geen nummer dus #pragma werkt volgens mij niet....

(Ik weet ook dat ik het kan oplossen door 'x' volatile te maken, maar dan krijg ik weer andere warnings...)

  • farlane
  • Registratie: Maart 2000
  • Laatst online: 06-09 22:39
Volgens wat info die ik tegenkwam kan het alleen optreden bij variabelen die voor register allocation in aanmerking komen. Misschien is het een idee om te proberen dit te voorkomen (alhoewel dat je performance niet ten goede zal komen denk ik)

Je zou dit kunnen doen door pointers te gebruiken ( in het geval van gcc )

Somniferous whisperings of scarlet fields. Sleep calling me and in my dreams i wander. My reality is abandoned (I traverse afar). Not a care if I never everwake.


  • Rowwan
  • Registratie: November 2000
  • Laatst online: 09:39
Het probleem is dat ik de code niet kan/wil wijzigen... Deze aanpassing zou ik dan op meer dan 500 files moeten aanbrengen...

  • farlane
  • Registratie: Maart 2000
  • Laatst online: 06-09 22:39
Oeps...misschien setjmp/longjmp vermijden? Ik ben bang dat je er anders mee zult moeten leren leven. (Of er moet een compilerswitch zijn die expliciet die warning onderdrukt)

Somniferous whisperings of scarlet fields. Sleep calling me and in my dreams i wander. My reality is abandoned (I traverse afar). Not a care if I never everwake.


  • Soultaker
  • Registratie: September 2000
  • Laatst online: 13:44
(Long shot:) Misschien optimalisatie terugschroeven? Of genereert je compiler altijd code met dat probleem?

Edit: sorry, ik had niet goed gelezen. Je wilt de warning onderdrukken, niet voorkomen.