[Pyrex] Unused variables

Jim Fulton jim at zope.com
Thu Dec 1 22:02:35 CET 2005


I'm having a problem with my first Pyrex project. Pyrex is generating
code with unused labels and variables and with static declarations for
things that aren't defined.  I wasn't sure if this was normal, so
I tried building the demos and got much the same behavior:

jim at ds9:~/src/python/Pyrex-0.9.3.1/Demos$ /usr/local/python/2.4/bin/python Setup .py build_ext --inplace
running build_ext
building 'primes' extension
creating build
creating build/temp.linux-i686-2.4
gcc -pthread -fno-strict-aliasing -DNDEBUG -g -O3 -Wall -Wstrict-prototypes -fPI C -I/usr/local/python/2.4/include/python2.4 -c primes.c -o build/temp.linux-i686 -2.4/primes.o
primes.c: In function ‘__pyx_f_6primes_primes’:
primes.c:137: warning: label ‘__pyx_L4’ defined but not used
primes.c:108: warning: label ‘__pyx_L6’ defined but not used
primes.c:98: warning: label ‘__pyx_L5’ defined but not used
primes.c:89: warning: label ‘__pyx_L3’ defined but not used
primes.c: At top level:
primes.c:12: warning: ‘__Pyx_UnpackItem’ declared ‘static’ but never defined
primes.c:13: warning: ‘__Pyx_EndUnpack’ declared ‘static’ but never defined
primes.c:14: warning: ‘__Pyx_PrintItem’ declared ‘static’ but never defined
primes.c:15: warning: ‘__Pyx_PrintNewline’ declared ‘static’ but never defined
primes.c:16: warning: ‘__Pyx_Raise’ declared ‘static’ but never defined
primes.c:17: warning: ‘__Pyx_ReRaise’ declared ‘static’ but never defined
primes.c:18: warning: ‘__Pyx_Import’ declared ‘static’ but never defined
primes.c:19: warning: ‘__Pyx_GetExcValue’ declared ‘static’ but never defined
primes.c:20: warning: ‘__Pyx_ArgTypeTest’ declared ‘static’ but never defined
primes.c:21: warning: ‘__Pyx_TypeTest’ declared ‘static’ but never defined
primes.c:22: warning: ‘__Pyx_GetStarArgs’ declared ‘static’ but never defined
primes.c:23: warning: ‘__Pyx_WriteUnraisable’ declared ‘static’ but never define d
primes.c:25: warning: ‘__Pyx_ImportType’ declared ‘static’ but never defined
primes.c:26: warning: ‘__Pyx_SetVtable’ declared ‘static’ but never defined
primes.c:27: warning: ‘__Pyx_GetVtable’ declared ‘static’ but never defined
primes.c:28: warning: ‘__Pyx_CreateClass’ declared ‘static’ but never defined
primes.c:30: warning: ‘__Pyx_InitStrings’ declared ‘static’ but never defined
primes.c:31: warning: ‘__Pyx_GetName’ declared ‘static’ but never defined
gcc -pthread -shared build/temp.linux-i686-2.4/primes.o -o primes.so
building 'spam' extension
gcc -pthread -fno-strict-aliasing -DNDEBUG -g -O3 -Wall -Wstrict-prototypes -fPI C -I/usr/local/python/2.4/include/python2.4 -c spam.c -o build/temp.linux-i686-2 .4/spam.o
spam.c: In function ‘__pyx_f_4spam_4Spam___new__’:
spam.c:64: warning: label ‘__pyx_L1’ defined but not used
spam.c: In function ‘__pyx_tp_new_4spam_Spam’:
spam.c:184: warning: unused variable ‘p’
spam.c: In function ‘__pyx_tp_dealloc_4spam_Spam’:
spam.c:192: warning: unused variable ‘p’
spam.c: In function ‘__pyx_tp_traverse_4spam_Spam’:
spam.c:207: warning: unused variable ‘p’
spam.c:206: warning: unused variable ‘e’
spam.c: In function ‘__pyx_tp_clear_4spam_Spam’:
spam.c:212: warning: unused variable ‘p’
spam.c: At top level:
spam.c:12: warning: ‘__Pyx_UnpackItem’ declared ‘static’ but never defined
spam.c:13: warning: ‘__Pyx_EndUnpack’ declared ‘static’ but never defined
spam.c:16: warning: ‘__Pyx_Raise’ declared ‘static’ but never defined
spam.c:17: warning: ‘__Pyx_ReRaise’ declared ‘static’ but never defined
spam.c:18: warning: ‘__Pyx_Import’ declared ‘static’ but never defined
spam.c:19: warning: ‘__Pyx_GetExcValue’ declared ‘static’ but never defined
spam.c:20: warning: ‘__Pyx_ArgTypeTest’ declared ‘static’ but never defined
spam.c:21: warning: ‘__Pyx_TypeTest’ declared ‘static’ but never defined
spam.c:22: warning: ‘__Pyx_GetStarArgs’ declared ‘static’ but never defined
spam.c:23: warning: ‘__Pyx_WriteUnraisable’ declared ‘static’ but never defined
spam.c:25: warning: ‘__Pyx_ImportType’ declared ‘static’ but never defined
spam.c:26: warning: ‘__Pyx_SetVtable’ declared ‘static’ but never defined
spam.c:27: warning: ‘__Pyx_GetVtable’ declared ‘static’ but never defined
spam.c:28: warning: ‘__Pyx_CreateClass’ declared ‘static’ but never defined
spam.c:29: warning: ‘__Pyx_InternStrings’ declared ‘static’ but never defined
spam.c:31: warning: ‘__Pyx_GetName’ declared ‘static’ but never defined
gcc -pthread -shared build/temp.linux-i686-2.4/spam.o -o spam.so

(skipped numeric example)

(I guess numeric_demo failed because I don't have the Python numeric package
installed.)

This is on Ubunto 5.10, which has gcc 4.0.  It is using a Python 2.4.2 that
I built myself (not the one that came with Ubuntu).  I'm also seeing this
on an old Red Hat machine with gcc 3.2.

Is the generation of unused variables and declarations for unused and
undefined variables normal?  Are there any plans to fix this?  While this
seems to just generate warnings, it sure would be nice to avoid them.

Jim

-- 
Jim Fulton           mailto:jim at zope.com       Python Powered!
CTO                  (540) 361-1714            http://www.python.org
Zope Corporation     http://www.zope.com       http://www.zope.org



More information about the Pyrex mailing list