1

void Miam_Pic16_OR(unsigned short *s,short x,short y,void *v)
{
register char *z=v+(y<<5)-(y<<1)+(x<0?-((1-(x>>3))&30):(x>>3)&30);
... }


Cette fonction se trouve dans un .h que j'ai inclus dans 2 programmes différents. Elle ne dépend d'aucune autre et est totalement autonome.
Mais dans un des deux programmes ça compile sans problème, dans l'autre j'ai une erreur "Pointer of type 'void *' user in arithmetic" (injustifiée, ça marche parfaitement).

Pourtant j'ai cherché, et je ne vois aucune différence qui pourrait expliquer ça : dans chacun des deux programmes il n'y a qu'un #include "MiamSprt.h" et un appel à la fonction.
avatar
All right. Keep doing whatever it is you think you're doing.
------------------------------------------
Besoin d'aide sur le site ? Essayez par ici :)

2

faut que tu donnes la fin de la routine ... pour voir sir ca retourne rien par erreur ...

3

je ne sais pas vraiment pourquoi ca marche dans un cas et pas dans l'autre mais si tu remplace le void* par un char* ca devrait marcher dans les 2 cas.
avatar

4

Supprime -Wpointer-arith des options de compilation.
Les prochaines versions de l'IDE ne le mettront plus quand on crée un nouveau projet. (J'ai déjà demandé la suppression de ce warning à Sebastian il y a quelques jours. Je lui ai envoyé un autre mail pour le lui rappeler là. smile)
avatar
Mes news pour calculatrices TI: Ti-Gen
Mes projets PC pour calculatrices TI: TIGCC, CalcForge (CalcForgeLP, Emu-TIGCC)
Mes chans IRC: #tigcc et #inspired sur irc.freequest.net (UTF-8)

Liberté, Égalité, Fraternité

5

c'est clair que l'IDE est parano par déflaut a chaque nouveau projet je supprimait 95% de la ligne de commande. J'ai résolu le problème depuis que je n'utilise plus l'IDE. Juste un simple éditeur et un makefile.
avatar

6

Pas la peine d'être aussi radical, il suffit de supprimer les options qu'on ne veut pas. smile
avatar
Mes news pour calculatrices TI: Ti-Gen
Mes projets PC pour calculatrices TI: TIGCC, CalcForge (CalcForgeLP, Emu-TIGCC)
Mes chans IRC: #tigcc et #inspired sur irc.freequest.net (UTF-8)

Liberté, Égalité, Fraternité

7

bof le seul truc qui manque vraiment c'est le link automatique, mais si j'ai été aussi radical se n'est pas vraiment a cause de la ligne de commande mais du fait que j'utilise un 133Mhz et que TIGCC compile trop tentement quand on le lance depuis l'IDE.
avatar

8

Essaye de désactiver "Split C source files for error position extraction" dans "File" / "Preferences" / "General". Ça accélére la compilation, du moins quand il y a des diagnostics (warnings, erreurs).
avatar
Mes news pour calculatrices TI: Ti-Gen
Mes projets PC pour calculatrices TI: TIGCC, CalcForge (CalcForgeLP, Emu-TIGCC)
Mes chans IRC: #tigcc et #inspired sur irc.freequest.net (UTF-8)

Liberté, Égalité, Fraternité

9

Kevin> Mais le Warning ne vient pas du fait (comme l'a dit Uther Lighbringer) que l'on essaie d'effectuer une opération arithmétique sur un pointeur générique (void *) ?
Dans ce qu'a posté Vertyos, c'est le v+... qui pose pb non ?

10

nEUrOne #1 > C'est bien cette partie là qui provoque un warning, pas le reste de la fonction

Uther #2 > Certes, mais je ne vois aucune raison pour que TIGCC crache sur mon void* smile

Kevin #3 > Ok smile
avatar
All right. Keep doing whatever it is you think you're doing.
------------------------------------------
Besoin d'aide sur le site ? Essayez par ici :)

11

D'ailleurs, il y a un truc qui me géne dans l'IDE (je sais pas si c'est désactivable, mais j'ai jamais vu pr le désactiver)
qd il y a un warning ou une erruer, l'IDE va à l'emplacement (fichier, ligne) de celui-ci...
c'est grave lourd, des fois...

(par exemple, on est dans le fichier main.c, et il y a un warning dans fonction.c... l'IDE va aller dans fonction.c, et pr revenir à ton source sur le quel tu bosses, il faut recliquer sur main.c
cela est encore plus génant qd le warning se trouve dans le même fichier que celui où tu bosses, puisqu'il fo retrouver la ligne où tu bossais...)
avatar
Tutorial C (TI-89/92+/v200) - Articles Développement Web (PHP, Javascript, ...)
« What is the sound of Perl? Is it not the sound of a wall that people have stopped banging their heads against? » - Larry Wall

12

jackiechan a écrit :
Kevin> Mais le Warning ne vient pas du fait (comme l'a dit Uther Lighbringer) que l'on essaie d'effectuer une opération arithmétique sur un pointeur générique (void *) ? Dans ce qu'a posté Vertyos, c'est le v+... qui pose pb non ?

C'est ça. Mais c'est une extension GCC valable, donc effectivement il ne devrait pas y avoir de warning.
squale92 a écrit :
D'ailleurs, il y a un truc qui me géne dans l'IDE (je sais pas si c'est désactivable, mais j'ai jamais vu pr le désactiver)
qd il y a un warning ou une erruer, l'IDE va à l'emplacement (fichier, ligne) de celui-ci...
c'est grave lourd, des fois...

(par exemple, on est dans le fichier main.c, et il y a un warning dans fonction.c... l'IDE va aller dans fonction.c, et pr revenir à ton source sur le quel tu bosses, il faut recliquer sur main.c cela est encore plus génant qd le warning se trouve dans le même fichier que celui où tu bosses, puisqu'il fo retrouver la ligne où tu bossais...)

Je suis d'accord. Ça m'énerve aussi parfois pour Backgammon, vu qu'il y a des warnings qui apparaissent systématiquement à chaque compilation. Je vais demander à Sebastian s'il ne peut pas mettre une option pour désactiver ça.
avatar
Mes news pour calculatrices TI: Ti-Gen
Mes projets PC pour calculatrices TI: TIGCC, CalcForge (CalcForgeLP, Emu-TIGCC)
Mes chans IRC: #tigcc et #inspired sur irc.freequest.net (UTF-8)

Liberté, Égalité, Fraternité

13

C'est ça. Mais c'est une extension GCC valable, donc effectivement il ne devrait pas y avoir de warning.

Personellement je trouve normal que l'on ne puisse pas faire de calcul sur un void. un (char*) c'est pas dur a placer et c'est tout de suite plus logique. Je genre d'extension me surprennent un peu.
Je suis d'accord. Ça m'énerve aussi parfois pour Backgammon, vu qu'il y a des warnings qui apparaissent systématiquement à chaque compilation. Je vais demander à Sebastian s'il ne peut pas mettre une option pour désactiver ça.

oui en plus avec certaines erreurs(au linkage je pense bien que je ne me soit pas posé la question) on ce retrouve sur un écran vide, c'est enervant.


avatar

14

Uther Lightbringer
a écrit : Personellement je trouve normal que l'on ne puisse pas faire de calcul sur un void. un (char*) c'est pas dur a placer et c'est tout de suite plus logique. Je genre d'extension me surprennent un peu.

C'est compatible avec la logique que void * <=> adresse.

Sebastian m'a confirmé que le warning -Wpointer-arith ne sera plus activé par défaut dans la prochaîne version, qui ne sera en toute probabilité pas une bêta, mais la 0.94 finale.
oui en plus avec certaines erreurs(au linkage je pense bien que je ne me soit pas posé la question) on ce retrouve sur un écran vide, c'est enervant.

Oui. Mais j'ai peur qu'il faudra attendre la 0.95 bêta 1 pour ça. La 0.94 finale est vraiment imminente, et ce n'est pas une correction de bogue au sens strict.
avatar
Mes news pour calculatrices TI: Ti-Gen
Mes projets PC pour calculatrices TI: TIGCC, CalcForge (CalcForgeLP, Emu-TIGCC)
Mes chans IRC: #tigcc et #inspired sur irc.freequest.net (UTF-8)

Liberté, Égalité, Fraternité

15

Je vais demander à Sebastian s'il ne peut pas mettre une option pour désactiver ça.

merci smile
avatar
Tutorial C (TI-89/92+/v200) - Articles Développement Web (PHP, Javascript, ...)
« What is the sound of Perl? Is it not the sound of a wall that people have stopped banging their heads against? » - Larry Wall

16

tiens, pendant qu'on parle de tigcc, c koi '__floatdibf' ?
pke ca m'a souler alors que je travaillais avec des bcd. ca me mettais "undefinded reference to __floatdibf" roll

17

Conversion long long -> float. Ce n'est pas encore implémenté.
avatar
Mes news pour calculatrices TI: Ti-Gen
Mes projets PC pour calculatrices TI: TIGCC, CalcForge (CalcForgeLP, Emu-TIGCC)
Mes chans IRC: #tigcc et #inspired sur irc.freequest.net (UTF-8)

Liberté, Égalité, Fraternité

18

alors pourquoi il me fait ddes erreurs avec ca ?

19

Ben parce que ce n'est pas implémenté. roll
avatar
Mes news pour calculatrices TI: Ti-Gen
Mes projets PC pour calculatrices TI: TIGCC, CalcForge (CalcForgeLP, Emu-TIGCC)
Mes chans IRC: #tigcc et #inspired sur irc.freequest.net (UTF-8)

Liberté, Égalité, Fraternité