MantisBT - VTK
View Issue Details
0002577VTK(No Category)public2005-12-07 22:392016-08-12 09:54
Hans Johnson 
Will Schroeder 
normalminoralways
closedmoved 
 
 
TBD
incorrect functionality
0002577: Internal Compiler Error on intel c++ v9.0
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
<
No tags attached.
Issue History
2007-09-26 22:35Hans JohnsonNote Added: 0009306
2010-04-01 21:57Hans JohnsonNote Added: 0020055
2011-06-16 13:11Zack GalbreathCategory => (No Category)
2014-10-01 21:26Sean McBrideProject => TBD
2014-10-01 21:26Sean McBrideType => incorrect functionality
2014-10-01 21:26Sean McBrideResolutionopen => won't fix
2014-10-01 21:26Sean McBrideDescription Updatedbug_revision_view_page.php?rev_id=844#r844
2016-08-12 09:54Kitware RobotNote Added: 0036812
2016-08-12 09:54Kitware RobotStatusexpired => closed
2016-08-12 09:54Kitware RobotResolutionwon't fix => moved

Notes
(0004190)
Hans Johnson   
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   
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   
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   
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   
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.