| View Issue Details [ Jump to Notes ] | [ Print ] | ||||||||
| ID | Project | Category | View Status | Date Submitted | Last Update | ||||
| 0002577 | VTK | (No Category) | public | 2005-12-07 22:39 | 2016-08-12 09:54 | ||||
| Reporter | Hans Johnson | ||||||||
| Assigned To | Will Schroeder | ||||||||
| Priority | normal | Severity | minor | Reproducibility | always | ||||
| Status | closed | Resolution | moved | ||||||
| Platform | OS | OS Version | |||||||
| Product Version | |||||||||
| Target Version | Fixed in Version | ||||||||
| Summary | 0002577: Internal Compiler Error on intel c++ v9.0 | ||||||||
| Description | The intel 9 compiler has an internal error on vtkQuadricClustering.cxx. This compiler error can be avoided with a little code reorganization. The following patch should produce the exact same results, but avoids the compiler internal error. cvs diff vtkQuadricClustering.cxx Index: vtkQuadricClustering.cxx =================================================================== RCS file: /cvsroot/VTK/VTK/Graphics/vtkQuadricClustering.cxx,v retrieving revision 1.77 diff -r1.77 vtkQuadricClustering.cxx 203d202 < 214d212 < 216,234c214,244 < { < // extend the bounds so that it will not produce fractions of bins. < double x, y, z; < x = floor((bounds[0]-this->DivisionOrigin[0])/this->DivisionSpacing[0]); < y = floor((bounds[2]-this->DivisionOrigin[1])/this->DivisionSpacing[1]); < z = floor((bounds[4]-this->DivisionOrigin[2])/this->DivisionSpacing[2]); < this->Bounds[0] = this->DivisionOrigin[0]+(x * this->DivisionSpacing[0]); < this->Bounds[2] = this->DivisionOrigin[1]+(y * this->DivisionSpacing[1]); < this->Bounds[4] = this->DivisionOrigin[2]+(z * this->DivisionSpacing[2]); < x = ceil((bounds[1]-this->Bounds[0])/this->DivisionSpacing[0]); < y = ceil((bounds[3]-this->Bounds[2])/this->DivisionSpacing[1]); < z = ceil((bounds[5]-this->Bounds[4])/this->DivisionSpacing[2]); < this->Bounds[1] = this->Bounds[0] + (x * this->DivisionSpacing[0]); < this->Bounds[3] = this->Bounds[2] + (y * this->DivisionSpacing[1]); < this->Bounds[5] = this->Bounds[4] + (z * this->DivisionSpacing[2]); < this->NumberOfDivisions[0] = (int)x > 0 ? (int)x : 1; < this->NumberOfDivisions[1] = (int)y > 0 ? (int)y : 1; < this->NumberOfDivisions[2] = (int)z > 0 ? (int)z : 1; < } --- > { > { > // extend the bounds so that it will not produce fractions of bins. > const double x = floor((bounds[0]-this->DivisionOrigin[0])/this->DivisionSpacing[0]); > const double y = floor((bounds[2]-this->DivisionOrigin[1])/this->DivisionSpacing[1]); > const double z = floor((bounds[4]-this->DivisionOrigin[2])/this->DivisionSpacing[2]); > this->Bounds[0] = this->DivisionOrigin[0]+(x * this->DivisionSpacing[0]); > this->Bounds[2] = this->DivisionOrigin[1]+(y * this->DivisionSpacing[1]); > this->Bounds[4] = this->DivisionOrigin[2]+(z * this->DivisionSpacing[2]); > } > { > { > const double x = ceil((bounds[1]-this->Bounds[0])/this->DivisionSpacing[0]); > const int intx=static_cast<int>(x); > this->Bounds[1] = this->Bounds[0] + (x * this->DivisionSpacing[0]); > this->NumberOfDivisions[0] = (intx > 0) ? intx : 1; > } > { > const double y = ceil((bounds[3]-this->Bounds[2])/this->DivisionSpacing[1]); > const int inty=static_cast<int>(y); > this->Bounds[3] = this->Bounds[2] + (y * this->DivisionSpacing[1]); > this->NumberOfDivisions[1] = (inty > 0) ? inty : 1; > } > { > const double z = ceil((bounds[5]-this->Bounds[4])/this->DivisionSpacing[2]); > const int intz=static_cast<int>(z); > this->Bounds[5] = this->Bounds[4] + (z * this->DivisionSpacing[2]); > this->NumberOfDivisions[2] = (intz > 0) ? intz : 1; > } > } > } 1520d1529 < | ||||||||
| Tags | No tags attached. | ||||||||
| Project | TBD | ||||||||
| Type | incorrect functionality | ||||||||
| Attached Files | |||||||||
| Relationships | |
| Relationships |
| Notes | |
|
(0004190) Hans Johnson (reporter) 2006-06-09 14:26 |
This is still a problem. The patch below has been tested and works on Mac, Linux gcc, and Linux intel 9. Hans |
|
(0006300) Hans Johnson (reporter) 2007-01-31 16:19 |
I've been post hoc adding this patch for over a year. It was a nasty compiler failure to track down, and I hope that my efforts will allow someone else to avoid the same pain. I'm just adding a comment here in the hopes that it triggers a review of this problem. If the there is good reason for not implementing this change, I'd like to know that my post-hoc patch will be a permanent part of my life. Thanks ;) |
|
(0009306) Hans Johnson (reporter) 2007-09-26 22:35 |
The patch is still required to be applied. I've not heard from anyone that this is not an appropriate fix for working around the compiler error. It's been building with my tree for over a year now on several platforms. This note is just to push the task to the top of the list again. |
|
(0020055) Hans Johnson (reporter) 2010-04-01 21:57 |
I've given up on this, and not longer care about the intel 9 compiler working with vtk. Go ahead and close this issue stating that it won't be fixed. |
|
(0036812) Kitware Robot (administrator) 2016-08-12 09:54 |
Resolving issue as `moved`. This issue tracker is no longer used. Further discussion of this issue may take place in the current VTK Issues page linked in the banner at the top of this page. |
| Notes |
| Issue History | |||
| Date Modified | Username | Field | Change |
| 2007-09-26 22:35 | Hans Johnson | Note Added: 0009306 | |
| 2010-04-01 21:57 | Hans Johnson | Note Added: 0020055 | |
| 2011-06-16 13:11 | Zack Galbreath | Category | => (No Category) |
| 2014-10-01 21:26 | Sean McBride | Project | => TBD |
| 2014-10-01 21:26 | Sean McBride | Type | => incorrect functionality |
| 2014-10-01 21:26 | Sean McBride | Resolution | open => won't fix |
| 2014-10-01 21:26 | Sean McBride | Description Updated | |
| 2016-08-12 09:54 | Kitware Robot | Note Added: 0036812 | |
| 2016-08-12 09:54 | Kitware Robot | Status | expired => closed |
| 2016-08-12 09:54 | Kitware Robot | Resolution | won't fix => moved |
| Issue History |
| Copyright © 2000 - 2018 MantisBT Team |