Re: INTERNAL COMPILER ERROR: compiler file 'msc1.cpp', line 1794
From: Alessio Calcagno (AlessioCalcagno_at_discussions.microsoft.com)
Date: 08/19/04
- Next message: Bo Persson: "Re: VC6sp5 ignoring frame-pointer omission?"
- Previous message: Bo Persson: "Re: VC6sp5 ignoring frame-pointer omission?"
- In reply to: Alexander Grigoriev: "Re: INTERNAL COMPILER ERROR: compiler file 'msc1.cpp', line 1794"
- Messages sorted by: [ date ] [ thread ]
Date: Thu, 19 Aug 2004 03:31:02 -0700
Yes, you are probably right.
I am surprised this problem has not been widely reported and resolved before
- I did some research on the web and I found a few references to the problem
but no solutions or workarounds.
"Alexander Grigoriev" wrote:
> I think the problem is because the compiler doesn't seem to try to
> canonicalize the path, but seems to just append the #include specification
> to the current file path. It may cause buffer overflow in the compiler.
>
>
...
> > Anyway I think I figured out a satisfactory workaround that has minimal
> > impact.
> >
> > The workaround is to additionally include the header where VC++ fails
> > directly in the .cpp file that fails compiling - the additional include
> > directive must precede the include directive that starts the problematic
> > compound include path.
> >
> > Example:
> >
> > VC++ compilation error:
> > Compiling...
> > ...
> > A.cpp
> > C:/source/ALib/.../ZLib/Z.h(30) : fatal error C1001: INTERNAL
> COMPILER
> > ERROR (compiler file 'msc1.cpp', line 1794) ...
> >
> > Context:
> > let '#include "../AuxLib/Aux.h"' be the include directive inside
> A.cpp
> > that ultimately includes '/ZLib/Z.h' that causes the compiler to give
> up
> >
> > Workaround:
> > add to A.cpp an include directive for '.../ZLib/Z.h' before the
> > directive '#include "../AuxLib/Aux.h"'
> >
> > The idea is that when the preprocessor sees the include directive for
> > '.../ZLib/Z.h' inside the compounded path, it doesn't attempt to resolve
> it
> > because it has already resolved it. The preprocessor "knows" it has
> already
> > resolved that include thanks to the include guard ("#if !defined..." or
> > "#pragma once") that "should" be present in all header files.
> >
- Next message: Bo Persson: "Re: VC6sp5 ignoring frame-pointer omission?"
- Previous message: Bo Persson: "Re: VC6sp5 ignoring frame-pointer omission?"
- In reply to: Alexander Grigoriev: "Re: INTERNAL COMPILER ERROR: compiler file 'msc1.cpp', line 1794"
- Messages sorted by: [ date ] [ thread ]
Relevant Pages
|