Redefinition of for index variable makes compilation fail on new compilers

Marco Esposito avatarMarco Esposito created an issue

The method SetFragmentShader() inside SoShadowGroup.cpp defines a global variable int i for all the subsequent for cycles.

Unfortunately one of those cycles redefines such variable, making an error arise in newest compilers (this is not solvable with any "permissive" flag or such).

Please remove that definition and use the global variable.

This is the result of compiling Coin 3.1.3 on Mac OS X with llvm-gcc-4.2, -fpermissive:

:info:build SoShadowGroup.cpp: In member function ‘void SoShadowGroupP::setFragmentShader(SoState*)’: :info:build SoShadowGroup.cpp:1699: error: redeclaration of ‘int i’ :info:build SoShadowGroup.cpp:1443: error: ‘int i’ previously declared here

Comments (4)

  1. Log in to comment
Tip: Filter by directory path e.g. /media app.js to search for public/media/app.js.
Tip: Use camelCasing e.g. ProjME to search for ProjectModifiedEvent.java.
Tip: Filter by extension type e.g. /repo .js to search for all .js files in the /repo directory.
Tip: Separate your search with spaces e.g. /ssh pom.xml to search for src/ssh/pom.xml.
Tip: Use ↑ and ↓ arrow keys to navigate and return to view the file.
Tip: You can also navigate files with Ctrl+j (next) and Ctrl+k (previous) and view the file with Ctrl+o.
Tip: You can also navigate files with Alt+j (next) and Alt+k (previous) and view the file with Alt+o.