Microsoft KB Archive/120668

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

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

-

[mailto:TECHNET@MICROSOFT.COM Send feedback to Microsoft]

© Microsoft Corporation. All rights reserved.