<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN">
<HTML><HEAD>
<META http-equiv=Content-Type content="text/html; charset=us-ascii">
<META content="MSHTML 6.00.2900.3429" name=GENERATOR></HEAD>
<BODY>
<DIV><FONT face=Arial><SPAN class=050234514-25112008>
<DIV><SPAN class=367391514-24112008><FONT color=#0000ff size=2>Dear 
Duncan,</FONT></SPAN></DIV>
<DIV><SPAN class=367391514-24112008><FONT color=#0000ff 
size=2></FONT></SPAN>&nbsp;</DIV>
<DIV><SPAN class=367391514-24112008><FONT color=#0000ff size=2>The following 
small idl file reveals&nbsp;<SPAN class=050234514-25112008>a</SPAN> bug in 
omniidl 4.1.3 cxx backend</FONT></SPAN></DIV>
<DIV><SPAN class=367391514-24112008><FONT size=2></FONT></SPAN>&nbsp;</DIV>
<DIV><FONT face="Courier New" size=2><SPAN 
class=367391514-24112008>------------------- bug<SPAN 
class=050234514-25112008>2</SPAN>.idl 
&nbsp;---------------------------------</SPAN></FONT></DIV>
<DIV>
<DIV><FONT face="Courier New" size=2><SPAN class=367391514-24112008>module M1 
{<BR>&nbsp; struct S {<BR>&nbsp;&nbsp;&nbsp; long&nbsp; T;<BR>&nbsp; 
};</SPAN></FONT></DIV>
<DIV><FONT size=2></FONT>&nbsp;</DIV>
<DIV><FONT face="Courier New" size=2><SPAN class=367391514-24112008>&nbsp; 
typedef ::M1::S&nbsp; A[4];<BR>};</SPAN></FONT></DIV>
<DIV><FONT size=2></FONT>&nbsp;</DIV>
<DIV><FONT face="Courier New" size=2><SPAN class=367391514-24112008>module M2 
{<BR>&nbsp; typedef ::M1::S&nbsp; A[2];<BR>};</SPAN></FONT></DIV>
<DIV><FONT face="Courier New" size=2><SPAN 
class=367391514-24112008>------------------- end of bug<SPAN 
class=050234514-25112008>2</SPAN>.idl 
---------------------------</SPAN></FONT></DIV>
<DIV><FONT face="Courier New" size=2><SPAN 
class=367391514-24112008></SPAN></FONT>&nbsp;</DIV>
<DIV><FONT color=#0000ff size=2><SPAN class=367391514-24112008><SPAN 
class=050234514-25112008>feeding the generated C++ code to the compiler 
gives:</SPAN></SPAN></FONT></DIV>
<DIV><FONT face="Courier New" size=2><SPAN class=367391514-24112008><SPAN 
class=050234514-25112008></SPAN></SPAN></FONT>&nbsp;</DIV>
<DIV><FONT face="Courier New" size=2><SPAN class=367391514-24112008><SPAN 
class=050234514-25112008>bug2.hh: In static member function 'static M2::A_slice* 
M2::A_copyHelper::dup(const M2::A_slice*)':<BR>bug2.hh:166: error: call of 
overloaded 'A_dup(const M2::A_slice*&amp;)' is ambiguous<BR>bug2.hh:136: note: 
candidates are: M2::A_slice* M2::A_dup(const M2::A_slice*)<BR>bug2.hh:84: 
note:&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 
M1::A_slice* M1::A_dup(const M1::A_slice*)<BR>bug2.hh: In static member function 
'static void M2::A_copyHelper::free(M2::A_slice*)':<BR>bug2.hh:167: error: call 
of overloaded 'A_free(M2::A_slice*&amp;)' is ambiguous<BR>bug2.hh:159: note: 
candidates are: void M2::A_free(M2::A_slice*)<BR>bug2.hh:107: 
note:&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 
void M1::A_free(M1::A_slice*)</SPAN></SPAN></FONT></DIV><FONT face="Courier New" 
size=2><SPAN class=367391514-24112008><SPAN 
class=050234514-25112008></SPAN></SPAN></FONT></DIV><FONT face="Courier New" 
size=2><SPAN class=367391514-24112008><SPAN 
class=050234514-25112008></SPAN></SPAN></FONT></SPAN></FONT></DIV>
<DIV><SPAN class=050234514-25112008><SPAN class=367391514-24112008><SPAN 
class=050234514-25112008>
<DIV><FONT face=Arial size=2></FONT>&nbsp;</DIV>
<DIV><SPAN class=050234514-25112008><FONT face=Arial color=#0000ff size=2>Best 
regards,</FONT></SPAN></DIV>
<DIV><SPAN class=050234514-25112008><FONT face=Arial color=#0000ff 
size=2></FONT></SPAN>&nbsp;</DIV>
<DIV><SPAN class=050234514-25112008><FONT face=Arial color=#0000ff size=2>Will 
Denissen</FONT></SPAN></DIV></SPAN></SPAN></SPAN></DIV><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>