Microsoft KB Archive/120668

From BetaArchive Wiki
Knowledge Base


Article ID: 120668

Article Last Modified on 7/5/2005



APPLIES TO

  • Microsoft Visual C++ 1.0 Professional Edition
  • Microsoft Visual C++ 1.5 Professional Edition
  • Microsoft Visual C++ 1.0 Professional Edition
  • Microsoft Visual C++ 2.0 Professional Edition
  • Microsoft Visual C++ 4.1 Subscription
  • Microsoft Visual C++ 4.2 Professional Edition
  • Microsoft Visual C++ 5.0 Standard Edition
  • Microsoft Visual C++ 6.0 Service Pack 5
  • Microsoft Visual C++ .NET 2002 Standard Edition
  • Microsoft Visual C++ .NET 2003 Standard Edition



This article was previously published under Q120668

SYMPTOMS

Trigraphs are three-character sequences used to represent punctuation unavailable in a character set. When the compiler encounters Trigraph statements that use ifdef and endif statements, it gives the following erroneous end-of-file error:

fatal error C1004: unexpected end of file found.

CAUSE

Trigraph translation is not finished before processing, so the #endif (the equivalent of ??=endif) is not reached.

STATUS

Microsoft has confirmed that this is a bug in the Microsoft products that are listed at the beginning of this article.

NOTE: This problem did not occur in Microsoft Visual C++, 32-bit Edition, version 4.0.

MORE INFORMATION

The following is sample code to reproduce the problem:

   /* Compile options needed: none
   */ 

   ??=ifdef TESTING
   int i=0;
   ??=endif
                


Additional query words: 1.00 1.50 2.00 8.00 8.00c 9.00 5.00

Keywords: kbbug kbcompiler KB120668