View Issue Details Jump to Notes ] Print ]
IDProjectCategoryView StatusDate SubmittedLast Update
0002577VTK(No Category)public2005-12-07 22:392016-08-12 09:54
ReporterHans Johnson 
Assigned ToWill Schroeder 
PrioritynormalSeverityminorReproducibilityalways
StatusclosedResolutionmoved 
PlatformOSOS Version
Product Version 
Target VersionFixed in Version 
Summary0002577: Internal Compiler Error on intel c++ v9.0
DescriptionThe 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
<
TagsNo tags attached.
ProjectTBD
Typeincorrect functionality
Attached Files

 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.

 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


Copyright © 2000 - 2018 MantisBT Team