Andrew Fitzgibbon wrote:
> Fred Wheeler wrote:
> > I'm not going to check in the bool->int change right yet. I
> > suspect this is really a VCL problem.
> > I'm hoping that someone else will see that and have some idea
> > what could be going wrong in vcl.
> I suspect forward declaration of vector<T> maybe? The compiler
> is allowed to have a specialization of vector<bool>, and I guess
> it should live in <vector>.
I'm not sure what this forward declaration issue might be, but I'm happy to try anything anyone
specifically suggests. When I was trying to diagnose the problem, one of the things I tried was to
give the two files in question identical #includes. That was no help. I have a hunch that point
might be relevant to the suggestion that forward declarations could be an issue.
When I saw the following on the web I was hopeful that this was a known fixed problem and the fix
would show up in the next release.
Fixes in the build of August 26,2002
Q143482, Q141518 Error with the vector<bool> specialization
Q142106 internal error: 0_1451 due to optimize routine
However, I see this same note in with the docs that came with our current version of the compiler
(comp_intel/7.0/compiler70/docs/notes/icc_issues.txt) so I guess this is not the problem. Darn.
> Can you get a minimal pair of files which produce different
> It could be an icc bug as well, and Intel will need small
> example files to be convinced...
I may try to whittle down what's in VCSL to get a minimal example. However, I am not enthusiastic
about going through a lot of trouble for Intel's sake. They make it very difficult to get real
information about known and fixed problems with icc on their web site. Also, I think you need to
jump through some registration hoops just to submit a problem report. Some nerve.
I just tried both vcl_vector<bool> and std::vector<bool> in vcsl. Both give the identical link
problem I originally reported. I guess vcl_ is just a pass through to STL under icc. So, it seems
clear that this is an icc bug, or a *very* obscure language issue.