Tim Peters writes: > Update of /cvsroot/python/python/dist/src/Python > Attempt to fix bogus gcc -Wall warnings reported by Marc-Andre Lemburg, > by making the DUP_TOPX code utterly straightforward. This also gets rid > of all normal-case internal DUP_TOPX if/branches, and allows replacing one > POP() with TOP() in each case, so is a good idea regardless. Tim, There's still one left: gcc -Wall -O2 -Wstrict-prototypes -I../../Python/../Include -I.. -DHAVE_CONFIG_H -c -o ceval.o ../../Python/ceval.c ../../Python/ceval.c: In function `eval_code2': ../../Python/ceval.c:346: warning: `w' might be used uninitialized in this function Cruising through this code, it looks like the problem might be in the PRINT_NEWLINE case: case PRINT_NEWLINE: if (stream == NULL || stream == Py_None) { w = PySys_GetObject("stdout"); if (w == NULL) PyErr_SetString(PyExc_RuntimeError, "lost sys.stdout"); } if (w != NULL) { /* If PRINT_NEWLINE is the opcode, w might not be initialized * here (I think), since I don't see it initialize before the * switch. Since we can't initialize it to NULL with the case * (doing so would break the PRINT_NEWLINE_TO case), it would * have to be initialized before the main loop is entered. */ err = PyFile_WriteString("\n", w); if (err == 0) PyFile_SoftSpace(w, 0); } Py_XDECREF(stream); stream = NULL; break; Ok.... yep, initializing that seems to work. I'll check in the fix for this one after I've run the regression test. -Fred -- Fred L. Drake, Jr. <fdrake at beopen.com> BeOpen PythonLabs Team Member
RetroSearch is an open source project built by @garambo | Open a GitHub Issue
Search and Browse the WWW like it's 1997 | Search results from DuckDuckGo
HTML:
3.2
| Encoding:
UTF-8
| Version:
0.7.4