3
je testais ta librairie cloog et je suis tomb� sur un point qui m'a fait
4
perdre un peu de temps, je pense que si ce n'est pas le cas, �a serait pas
5
mal de le pr�ciser dans la doc pour �viter des d�boires. je te passe les
6
d�tails du pourquoi, en fait je suis tomb� sur un core dont voici la trace
10
#0 0x1b907460 in _vgi__soname$3Alibc$2Eso$2E6$3Afree (p=0x0) at vg_replace_malloc.c:153
11
#1 0x1bb1e2f2 in cloog_statement_free (statement=0x1bb58d30) at source/statement.c:118
12
#2 0x1bb19390 in cloog_loop_free_parts (loop=0x1bb66280, domain=1, statement=1, inner=0, next=0) at source/loop.c:170
13
#3 0x1bb1aba5 in cloog_loop_simplify (loop=0x1bb66280, context=0x1bb662c8, level=3, nb_par=0) at source/loop.c:1096
14
#4 0x1bb1a9c7 in cloog_loop_simplify (loop=0x1bb66530, context=0x1bb68820, level=2, nb_par=0) at source/loop.c:1040
15
#5 0x1bb1a9c7 in cloog_loop_simplify (loop=0x1bb68a60, context=0x1bb58b98, level=1, nb_par=0) at source/loop.c:1040
16
#6 0x1bb18e32 in cloog_program_generate (program=0x1bb57cc8, options=0x1bb57c68) at source/program.c:712
19
en fait il s'agit du ``nom'' des statements : le champ loop->statement->body.
20
et bien pour que ta librairie marche, il faut qu'il soit initialis� et
21
d�sallouable par un free. ce ne peut �tre un champ statique style
22
"statement" comme je l'avais mis au d�but. c'est un d�tail mais qui peut
25
point diff�rent : le champ 'name' des options, il semble important de le
26
d�finir avant de faire un print, mais celui l� pas forc�ment avec un malloc
27
car il n'est pas d�sallou� par un quelconque free de cloog_options_free.
29
ces petits d�tails pris en compte, �a � l'air de mieux marcher.
34
----------------------------------------------------------------------------
36
>> il faut que tu arr�tes d'allonger ma pile de choses � m'occuper
37
>> 'rapidement' sinon j'en ai pour jusqu'en 2006 !
40
allez, une derni�re, pareil c'est pas urgent, stocke, j'ai pas besoin de
41
r�ponse pour l'instant. en fait lorsque tu as pas de param�tres � ton
42
probl�me, tu passes le polyh�dre :
47
comme dans l'exemple ci-dessous :
49
# ----------------------------------------------------------------------
53
# parameters {m, n | 4<=m<=n}
58
1 # Number of statements
61
# {i, j | 1<=i<=n 1<=j<=m}
71
0 # Scattering functions
72
# ----------------------------------------------------------------------
74
qui donne parfaitement :
76
/* Generated from a.cloog by CLooG v0.12.2 64 bits in 0.00s. */
85
par contre, si je d�cide de lui passer � la place :
90
l� il ne m'afficher plus de solution. c'est bizarre ou c'est normal ?
92
en fait le polyh�dre ci dessus est int�ressant, car il correspond au
93
polyh�dre retourn� par la fonction Empty_Polyhedron de la polylib.
95
cprog->context=Empty_Polyhedron(0);