|
Archives
D Programming
DD.gnu digitalmars.D digitalmars.D.bugs digitalmars.D.dtl digitalmars.D.dwt digitalmars.D.announce digitalmars.D.learn digitalmars.D.debugger C/C++ Programming
c++c++.announce c++.atl c++.beta c++.chat c++.command-line c++.dos c++.dos.16-bits c++.dos.32-bits c++.idde c++.mfc c++.rtl c++.stl c++.stl.hp c++.stl.port c++.stl.sgi c++.stlsoft c++.windows c++.windows.16-bits c++.windows.32-bits c++.wxwindows digitalmars.empire digitalmars.DMDScript |
c++ - Internal error: token 879
Hello,
can please someone tell me what is meaning of error code "Internal error: token
879"?
It comes if I use precompiled headers in dmc (v8.42), and only in release build
(meaning without -g -D, with or without optimization [no difference, always the
same error]) - the same code compiled without using precompiled headers (debug
and release, the same flags as when precompiled headers used) or with
precompiled headers in debug mode, compiles fine without any error or warning.
I found the place where it comes:
in class member function (nonstatic, virtual, in abstract class) there is line:
myStringArray::ConstIterator iter;
- with this line commented out, it compiles without any error; and this line
compiles fine if not using precompiled headers / or using precompiled headers in
debug mode (-g -D the only difference). But in release mode with precompiled
headers it fails.
in headers (are precompiled) there is following code (simplified):
class myStringArray: public myVector< myString > {
..
};
(myString is class)
and
template< class ValueType >
class myIterator {
..
private:
ValueType * m_pObject;
};
template< class Type >
class myVector{
..
public:
typedef Type ValueType;
typedef myIterator< ValueType > Iterator;
typedef myIterator< const ValueType > ConstIterator;
..
};
and even declaration
myVector< myString >::ConstIterator iter;
or
myVector< myString >::Iterator iter;
or
myStringArray::Iterator iter;
did not help, always giving the error "Internal error: token 879".
I know that it is probably non easy task using precompiled headers with class
templates, and I can switch precompiled headers out (dmc is anyway one of the
fastest compilers I know, with reasonably correct c++ support), but it seems to
me strange that it comes only in release build and not in debug build.
Jun 13 2005
<mx0 seznam.cz> wrote in message news:d8k6et$1stu$1 digitaldaemon.com...can please someone tell me what is meaning of error code "Internal error: Jun 13 2005
In article <d8lk0u$1c8$2 digitaldaemon.com>, Walter says...The only way this can be fixed is if you can find a reproducible example, whittle it down to the smallest size, and send it in. Thanks, -Walter Jun 14 2005
Thanks! I can take it from here. -Walter Jun 14 2005
|