Knowledge Base

BUG: Trigraph Statements May Produce End-of-File Error

Article ID: 120668

Article Last Modified on 7/5/2005


APPLIES TO


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