Service pack for VC2003

  • Thread starter Thread starter Robert Krt
  • Start date Start date
R

Robert Krt

Hello!
I've hit the ICE (msc.cpp line 2701) compiling a solution in
VSnet2003(VC7.1). It worked in previous releases. Reading the newsgroups
I've found it is a bug. When is to be expected a service pack or a fix?

Bye,
Robert Krt.
 
I've hit the ICE (msc.cpp line 2701) compiling a solution in
VSnet2003(VC7.1). It worked in previous releases. Reading the newsgroups
I've found it is a bug. When is to be expected a service pack or a fix?

Robert,

I've not heard of any forthcoming SP for VS2003 - in fact it appears
that MS are only just getting round to the promised SP for VS2002 (a
MS person posted about the beta in these newsgroups earlier today).

If the problem is a blocking issue for you, you should contact MS
support (telephone). Sometimes there are limited release versions
available if there is no work-around (and the problem has been found
and fixed).

Dave
 
SoftwareRancher said:
Mabye the link
http://support.microsoft.com/default.aspx?scid=kb;en-gb;824389 will be
helpful (using "helpful" rather loosely).

I've tried this fix. Thank you. It didn't help. I've found later what causes
the ICE:
A simple example:

#include <map>
using namespace std;

template <class T> class AsMap : public map< unsigned long, T>
{
public:
AsMap(void);
~AsMap(void);
int SaveMap(void);
};
template <class T>
AsMap<T>::AsMap(void)
{}
template <class T>
AsMap<T>::~AsMap(void)
{}

template <class T>
AsMap<T>::SaveMap(void) /*forget int in front and an ICE rise: int
AsMap<T>::SaveMap(void)*/
{
printf("I'm wrong!");
}

int _tmain(int argc, _TCHAR* argv[])
{
AsMap<int> aMap;
return 0;
}

This code compiled well in previous releases. I've forgot the specifier
"int" but ICE points to a constructor of a class that has nothing to do with
the upper one. It took me some time to find it.

Thanks both of you!
 
Robert Krt said:
[...]
A simple example:

#include <map>
using namespace std;

template <class T> class AsMap : public map< unsigned long, T>
{
public:
AsMap(void);
~AsMap(void);
int SaveMap(void);
};
template <class T>
AsMap<T>::AsMap(void)
{}
template <class T>
AsMap<T>::~AsMap(void)
{}

template <class T>
AsMap<T>::SaveMap(void) /*forget int in front and an ICE rise: int
AsMap<T>::SaveMap(void)*/
{
printf("I'm wrong!");
}

int _tmain(int argc, _TCHAR* argv[])
{
AsMap<int> aMap;
return 0;
}

This code compiled well in previous releases. I've forgot the specifier
"int" but ICE points to a constructor of a class that has nothing to do with
the upper one. It took me some time to find it.

Once you have it down to such a small
repro case, you could try Comeau (at
www.comeaucomputing.com/tryitout). Its
error messages usually are very good:

Comeau C/C++ 4.3.3 (Aug 6 2003 15:13:37) for ONLINE_EVALUATION_BETA1
Copyright 1988-2003 Comeau Computing. All rights reserved.
MODE:strict errors C++

"ComeauTest.c", line 19: error: omission of explicit type is nonstandard ("int"
assumed)
AsMap<T>::SaveMap(void) /*forget int in front and an ICE rise: int
^

"ComeauTest.c", line 23: warning: missing return statement at end of non-void
function "AsMap<T>::SaveMap"
}
^

"ComeauTest.c", line 25: error: identifier "_TCHAR" is undefined
int _tmain(int argc, _TCHAR* argv[])
^

2 errors detected in the compilation of "ComeauTest.c".

(However, once one got it down to such a
small piece of code, one usually has found
out what's wrong anyway...)
Thanks both of you!

Schobi

--
(e-mail address removed) is never read
I'm Schobi at suespammers dot org

"Sometimes compilers are so much more reasonable than people."
Scott Meyers
 
Back
Top