1. a possible performance bug in VC 7.1 compiler
To Carl (or other folks from MSFT): When compiling LAPACK (a numerical library) on VC 7.1 I encountered a file that took forever to compile under the Release mode. The file has under 2,000 lines and it takes over 8 minutes to compile that file alone on my super new dual Xeon 4GB RAM machine. Each of the other files in this library takes under a second to compile and some of them are much larger. I realize that it is the content of the source file that mostly influences the time needed for compilation. Still, it seems to me that something is not right. If you have LAPACK library, the name of the file is clarfx.c. If you don't I will be happy to email it to you. Bumbrlik
3. VC++ 7.1 compiler bug with default parameters
This bug is easier to just show than to explain I think...
namespace M {
template <class T> struct A {
void f(int a = T::foo()) { } // line 5
};
}
namespace N {
struct B {
static int foo() { return 5; }
};
}
int main() {
M::A<N::B> x;
x.f();
}
VC++ 7.1 (13.10.3077) produces the following diagnostic:
test.cpp(5) : error C2653: 'B' : is not a class or namespace name
test.cpp(5) : error C3861: 'foo': identifier not found, even with
argument-dependent lookup
Taking B out of namespace N makes it work, as does eliminating the
default parameter and providing an overload of A::f with no parameters
(which can serve a general workaround -- although it would be annoying
for constructors).
Both gcc 3.2 and Comeau 4.3.1 compile this code with no problem.
John
4. VC++ 7.1 (.net 2003) compiler code optimization bug ?
6. Nested enums and default member initialization(possible bug in VC 7.1)
7. Template instantiation problem with vc++.net 7.1 compiler
Guys please help me to solve this strange problem what Iam
getting as follows..
Trying to instantiate a global instance of a template
class as follows :-
when i build this code with debug and run this works fine.
but if build in unicode release or release this does't
work.
IS THERE ANY PROBLEM OF INSTANTIATING TEMPLATE CLASSES
GLOBALY IN APPLICATION BUILD WITH UNICODE RELEASE OR
RELEASE ??????
( this is only happening with visual studio .net compiler
version 7.1. I have tried with vc++ 6.0 this works fine)
class a
{
public:
a() {}
};
// specialize constructor with a dummy class
class dummy
{
};
template <class T> class tc
{
public:
tc(const dummy&)
{
MessageBox(NULL, _T("template with dummy Got
constructed..."), _T(""), MB_OK);
}
private:
const static tc<T>* ptc; // Initialize when this
classs constructs
};
// construct a global templete object here
const tc<a>* tc<a>::ptc = new tc<a>(dummy());
int main(int argc, char* argv[])
{
return 0;
}
Thanks in advance guys
Hari