FIX: MIPS Compiler Assertion with C version 8.0
PSS ID Number: Q102764
Article last modified on 07-27-1994

3.10

WINDOWS NT


----------------------------------------------------------------------
The information in this article applies to:

 - Microsoft Win32 Software Development Kit (SDK) for Windows NT
   version 3.1
----------------------------------------------------------------------

SYMPTOMS
========

You may get the following assertion from the C version 8.0 compiler on
Windows NT under MIPS:

   Microsoft  C Centaur Optimizing Compiler Version 8.00.081
   Copyright (c) Microsoft Corp 1984-1992. All rights reserved.

   t516a.cxx
   Assertion failed: prld->symbol->symbolnumber >= 0, file
   E:\src\centaur\drop81\msas\as1coff.c, line 459

   abnormal program termination

CAUSE
=====

You can get an assertion running C 8.0 on Windows NT MIPS if you did not
compile with /Zi or /Z7 or if your external declarations are not at file
scope level (that is, declare them as global).

RESOLUTION
==========

The easiest workaround is to recompile with /Zi or /Z7. Another workaround
is to move all extern declarations to file scope level.

STATUS
======

There is a fix for this but the problem wasn't deemed critical enough to
change right before the Windows NT 3.1 release. This problem was corrected
in the Win32 SDK, version 3.5.

Additional reference words: 3.10
KBCategory: Prg
KBSubcategory: TlsMisc

=============================================================================

Copyright Microsoft Corporation 1994.
