<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 3.2//EN">
<HTML>
<HEAD>
<META HTTP-EQUIV="Content-Type" CONTENT="text/html; charset=us-ascii">
<META NAME="Generator" CONTENT="MS Exchange Server version 6.5.7036.0">
<TITLE>OmniOrb-4.1.1: Escaped identifiers inside unions breaks the omniidl compiler</TITLE>
</HEAD>
<BODY>
<!-- Converted from text/rtf format -->
<P><FONT SIZE=2 FACE="Arial">Dear Duncan,</FONT>
</P>
<P><FONT SIZE=2 FACE="Arial">When omniidl (omniOrb-4.1.1) parses the following idl code</FONT>
</P>
<P><FONT SIZE=2 FACE="Arial">Union my_union switch(long) {</FONT>
<BR><FONT SIZE=2 FACE="Arial"> case 0: long _long;</FONT>
<BR><FONT SIZE=2 FACE="Arial">};</FONT>
</P>
<P><FONT SIZE=2 FACE="Arial">It will complain about "… Identifier 'long' clashes with keyword 'long' "</FONT>
</P>
<P><FONT SIZE=2 FACE="Arial">While the treatment for structs is OK.</FONT>
</P>
<P><FONT SIZE=2 FACE="Arial">struct my_struct {</FONT>
<BR><FONT SIZE=2 FACE="Arial"> long _long;</FONT>
<BR><FONT SIZE=2 FACE="Arial">};</FONT>
</P>
<BR>
<P><FONT SIZE=2 FACE="Arial">I have traced the bug in file ./src/tool/omniidl/cxx/idlast.cc line 1690</FONT>
</P>
<P><FONT SIZE=2 FACE="Arial">In which …declarator->identifier()... must be replaced by …declarator->eidentifier()…</FONT>
</P>
<BR>
<P><FONT SIZE=2 FACE="Arial">Please check whether there are similar bugs with eidentifier.</FONT>
</P>
<P><FONT SIZE=2 FACE="Arial">Best regards,</FONT>
</P>
<P><FONT SIZE=2 FACE="Arial">Will Denissen.</FONT>
</P>
<br clear=all> --
The information contained in this communication and any attachments is confidential and may be privileged, and is for the sole use of the intended recipient(s). Any unauthorized review, use, disclosure or distribution is prohibited. Unless explicitly stated otherwise in the body of this communication or the attachment thereto (if any), the information is provided on an AS-IS basis without any express or implied warranties or liabilities. To the extent you are relying on this information, you are doing so at your own risk. If you are not the intended recipient, please notify the sender immediately by replying to this message and destroy all copies of this message and any attachments. ASML is neither liable for the proper and complete transmission of the information contained in this communication, nor for any delay in its receipt.
</BODY>
</HTML>