Google Groups no longer supports new Usenet posts or subscriptions. Historical content remains viewable.
Dismiss

VB6+SP4 Internal Compiler Error - wierd

251 views
Skip to first unread message

Donald Milne

unread,
Aug 16, 2000, 3:00:00 AM8/16/00
to

Since installing SP4, I have been seeing a lot of the following error:

F:\MYPROJ~1\FSS_CO~1\fssgSite.ctl(633) : fatal error C1001: INTERNAL
COMPILER ERROR
(compiler file 'E:\8783\vc98\p2\src\P2\main.c', line 494)
Please choose the Technical Support command on the Visual C++
Help menu, or open the Technical Support help file for more information


The fix is to goto the line mentioned (or, as in this case where the line is
633 in a project with only
550 lines (!) thelast line), and delete and re-create the line breaks. This
is not a permanent fix,
but does generally allow the file to be built (an OCX in this case).

Has anyone else seen this, and does anyone have any more information?

Donald Milne


Craig (rup) Monro

unread,
Aug 16, 2000, 3:00:00 AM8/16/00
to
Its a common thing if you actually program C++ using templates (which VB
does)

Since I am new to VB I can't explain too well, but what you need to do is
pass to the compiler a -g (Turn OFF global optimisations). This generally
fixes most internal errors.

The error is generally caused by 'things' being too complex. you might have
a lot of ints and singles doing a lot of arithmetic, or you might be doing a
lot of dereferencing (eg.
MyClass.SubClass.OtherClass.JuniorClass.Name.Length)

If you are doing a lot of either in a procedure, split it up into smaller
sections if U can.

Another (pain in the butt option that doesn't always work) is to delete your
OCX and recompile. sometimes this works, sometimes not.

--
Craig Monro
r...@iprimus.com.au

"Donald Milne" <d...@fssg.co.uk> wrote in message
news:ON2m8i2BAHA.247@cppssbbsa05...

paul.rigas

unread,
Aug 28, 2000, 3:00:00 AM8/28/00
to
As I understand it VB invokes the same programs for code generation and
linking that VC++ uses. MSDN says the following about the error:

....
Failure of the code generator to find a way to generate correct code for a
construct. This is most often caused by the interaction of an expression and
an optimization option. The optimization has generated a tree which the
compiler does not know how to handle. Such a problem can often be fixed by
removing one or more optimization options when compiling the particular
function containing the line indicated in the error message.

...the problem can usually be fixed by removing one or more optimization
options....You can determine which option is at fault by removing them one
at a time and recompiling until the message goes away. Generally the last
one removed is the problem and all other optimizations can be used safely.

More rarely, such errors occur at very low optimization levels or even when
optimization is disabled. In such cases, rewriting the line where the error
is reported (or possibly several lines including the one causing the error)
may be a solution.
.....

It's a shame VB doesn't give you as much control over the compilation. I
have found code generation bugs in the compiler before. which can be spot
fixed by doing a #pragma optimize{"", off} around the offending section (in
VC++). In VB I'd say the best bet is to try and locate the offending section
and try simplifying it.

Paul


Craig (rup) Monro <r...@iprimus.com.au> wrote in message
news:399a...@news.iprimus.com.au...

0 new messages