FIX: error CBE7002: Failed assertion "lab" ascoff.cpp, line 769 (194616)



The information in this article applies to:

  • Microsoft Windows CE Toolkit for Visual C++, when used with:
    • the hardware: SH3 processor-DO NOT USE!
    • the hardware: SH4 processor
  • Microsoft Windows CE Embedded Toolkit for Visual C++ 5.0, when used with:
    • the hardware: SH3 processor-DO NOT USE!
    • the hardware: SH4 processor

This article was previously published under Q194616

SYMPTOMS

You might get the following error when compiling for the Windows CE SHx platform.
     fatal internal error CBE7002: Failed assertion "lab" (cbe
     .\asm\ascoff.cpp, line 769)
     Error executing shcl.exe.
					

RESOLUTION

Use on of the following resolutions:

  • Do not use the virtual keyword for member functions.
  • Do not export the class derived from an imported class.

STATUS

Microsoft has confirmed this to be a bug in the Microsoft products listed at the beginning of this article. This bug has been corrected in Visual C++ compilers for Windows CE version 2.01 and later.

MORE INFORMATION

Steps to Reproduce Behavior

Create a Windows project in Developer Studio for the SH platform. Add the following file to the project. Compile the file and the error described in the SYMPTOMS section occurs.

Sample Code

   // test.cpp
   #define DLLExport  __declspec(dllexport)
   #define DLLImport  __declspec(dllimport)

   class DLLImport BClass
   {
   public:
   virtual int Func(void) {return(0);}
   };

   class  DLLExport AClass : public BClass
   {
   };
				

Modification Type:MajorLast Reviewed:10/16/2002
Keywords:kbBug kbfix kbOSWinCE210fix KB194616