<html>
<head>
<style><!--
.hmmessage P
{
margin:0px;
padding:0px
}
body.hmmessage
{
font-size: 10pt;
font-family:Verdana
}
--></style>
</head>
<body class='hmmessage'>
Randy,  I think I understand but yes please commit a small concrete example like in m3-sys/m3tests/src/p2/p237 or such. I think this is a bug in the stub generator. Probably time/date could workaround it with slight restructuring/renaming. But probably should fix the stub generator. While at it, maybe have it stop outputing unused stuff that triggers so many warnings...<BR>
 <BR>
 <BR>
 - Jay<BR><BR> <BR>
<HR id=stopSpelling>
From: rcolebur@SCIRES.COM<BR>To: m3devel@elegosoft.com<BR>Date: Thu, 15 Apr 2010 18:10:44 -0400<BR>Subject: Re: [M3devel] Modula-3/C interop in Date/Time?<BR><BR>
<STYLE>
.ExternalClass .ecxshape
{;}
</STYLE>

<STYLE>
.ExternalClass p.ecxMsoNormal, .ExternalClass li.ecxMsoNormal, .ExternalClass div.ecxMsoNormal
{margin-bottom:.0001pt;font-size:12.0pt;font-family:'MS PGothic','sans-serif';}
.ExternalClass a:link, .ExternalClass span.ecxMsoHyperlink
{color:blue;text-decoration:underline;}
.ExternalClass a:visited, .ExternalClass span.ecxMsoHyperlinkFollowed
{color:purple;text-decoration:underline;}
.ExternalClass p
{margin-right:0in;margin-left:0in;font-size:12.0pt;font-family:'MS PGothic','sans-serif';}
.ExternalClass span.ecxecxapple-style-span
{;}
.ExternalClass span.ecxecxapple-converted-space
{;}
.ExternalClass span.ecxecxapple-st
{;}
.ExternalClass span.ecxEmailStyle21
{font-family:'Calibri','sans-serif';color:#1F497D;}
.ExternalClass .ecxMsoChpDefault
{font-size:10.0pt;}
@page Section1
{size:8.5in 11.0in;}
.ExternalClass div.ecxSection1
{page:Section1;}
</STYLE>

<DIV class=ecxSection1>
<P class=ecxMsoNormal><SPAN style="FONT-FAMILY: 'Calibri','sans-serif'; COLOR: #1f497d; FONT-SIZE: 11pt">Jay:</SPAN></P>
<P class=ecxMsoNormal><SPAN style="FONT-FAMILY: 'Calibri','sans-serif'; COLOR: #1f497d; FONT-SIZE: 11pt"> </SPAN></P>
<P class=ecxMsoNormal><SPAN style="FONT-FAMILY: 'Calibri','sans-serif'; COLOR: #1f497d; FONT-SIZE: 11pt">I¡¦m still catching up after being in hospital, but noticed you are working on the Date.i3/m3 interface and module.</SPAN></P>
<P class=ecxMsoNormal><SPAN style="FONT-FAMILY: 'Calibri','sans-serif'; COLOR: #1f497d; FONT-SIZE: 11pt"> </SPAN></P>
<P class=ecxMsoNormal><SPAN style="FONT-FAMILY: 'Calibri','sans-serif'; COLOR: #1f497d; FONT-SIZE: 11pt">There is a problem that I¡¦d like to post on the newsgroup that may be related.  </SPAN></P>
<P class=ecxMsoNormal><SPAN style="FONT-FAMILY: 'Calibri','sans-serif'; COLOR: #1f497d; FONT-SIZE: 11pt"> </SPAN></P>
<P class=ecxMsoNormal><SPAN style="FONT-FAMILY: 'Calibri','sans-serif'; COLOR: #1f497d; FONT-SIZE: 11pt">I¡¦m not sure if the problem is due to the way Date.i3/m3 is coded, or perhaps a problem in the network objects stub generator, but I thought whilst you are looking at Date.i3/m3 something might trigger in your mind about how to fix the problem.</SPAN></P>
<P class=ecxMsoNormal><SPAN style="FONT-FAMILY: 'Calibri','sans-serif'; COLOR: #1f497d; FONT-SIZE: 11pt"> </SPAN></P>
<P class=ecxMsoNormal><SPAN style="FONT-FAMILY: 'Calibri','sans-serif'; COLOR: #1f497d; FONT-SIZE: 11pt">I have several interfaces that export a Network Object.  Of course, these get processed by the network objects stub generator at compile time.  For some of these, the generated files fail to compile due to Date.i3 not being listed in the IMPORT list.  </SPAN></P>
<P class=ecxMsoNormal><SPAN style="FONT-FAMILY: 'Calibri','sans-serif'; COLOR: #1f497d; FONT-SIZE: 11pt"> </SPAN></P>
<P class=ecxMsoNormal><SPAN style="FONT-FAMILY: 'Calibri','sans-serif'; COLOR: #1f497d; FONT-SIZE: 11pt">Since these offending modules are generated at compile time, it¡¦s not a programming error in the new source package that is being compiled.</SPAN></P>
<P class=ecxMsoNormal><SPAN style="FONT-FAMILY: 'Calibri','sans-serif'; COLOR: #1f497d; FONT-SIZE: 11pt"> </SPAN></P>
<P class=ecxMsoNormal><SPAN style="FONT-FAMILY: 'Calibri','sans-serif'; COLOR: #1f497d; FONT-SIZE: 11pt">The way I work around the problem is by editing the generated files after the compile fails.  Namely, I go to the target folder (in this case NT386) and edit the generated m3 files by adding ¡§IMPORT Date;¡¨, then recompile and all is well.</SPAN></P>
<P class=ecxMsoNormal><SPAN style="FONT-FAMILY: 'Calibri','sans-serif'; COLOR: #1f497d; FONT-SIZE: 11pt"> </SPAN></P>
<P class=ecxMsoNormal><SPAN style="FONT-FAMILY: 'Calibri','sans-serif'; COLOR: #1f497d; FONT-SIZE: 11pt">Of course, the next time you erase the target folder, change the underlying interface, or run ¡§cm3 ¡Vclean¡¨, the generated file has to be created again and you have to go thru the compile-edit-compile cycle again to repair the problem.  If you are delivering source code to a customer, you then have to document the work-around for them so that they can get the package to compile.</SPAN></P>
<P class=ecxMsoNormal><SPAN style="FONT-FAMILY: 'Calibri','sans-serif'; COLOR: #1f497d; FONT-SIZE: 11pt"> </SPAN></P>
<P class=ecxMsoNormal><SPAN style="FONT-FAMILY: 'Calibri','sans-serif'; COLOR: #1f497d; FONT-SIZE: 11pt">I reported this problem years ago, but that was back before we were tracking bugs using the new system.</SPAN></P>
<P class=ecxMsoNormal><SPAN style="FONT-FAMILY: 'Calibri','sans-serif'; COLOR: #1f497d; FONT-SIZE: 11pt"> </SPAN></P>
<P class=ecxMsoNormal><SPAN style="FONT-FAMILY: 'Calibri','sans-serif'; COLOR: #1f497d; FONT-SIZE: 11pt">It could be that the way Date.i3/m3 is coded is causing the stub generator not to think it needs to import it, or it could be that the stub generator isn¡¦t doing its job right in the first place.</SPAN></P>
<P class=ecxMsoNormal><SPAN style="FONT-FAMILY: 'Calibri','sans-serif'; COLOR: #1f497d; FONT-SIZE: 11pt"> </SPAN></P>
<P class=ecxMsoNormal><SPAN style="FONT-FAMILY: 'Calibri','sans-serif'; COLOR: #1f497d; FONT-SIZE: 11pt">Now after saying all this, I know I should provide a concrete example.  I¡¦ll have to go back and see if I ever reduced the code to a smaller set that demonstrates the problem.  Otherwise, I can¡¦t give anyone the full source code because it was a ¡§work-for-hire¡¨ and I don¡¦t have the right to publish these sources.</SPAN></P>
<P class=ecxMsoNormal><SPAN style="FONT-FAMILY: 'Calibri','sans-serif'; COLOR: #1f497d; FONT-SIZE: 11pt"> </SPAN></P>
<P class=ecxMsoNormal><SPAN style="FONT-FAMILY: 'Calibri','sans-serif'; COLOR: #1f497d; FONT-SIZE: 11pt">Let me know if you want a concrete example and I¡¦ll see what I can do.</SPAN></P>
<P class=ecxMsoNormal><SPAN style="FONT-FAMILY: 'Calibri','sans-serif'; COLOR: #1f497d; FONT-SIZE: 11pt"> </SPAN></P>
<P class=ecxMsoNormal><SPAN style="FONT-FAMILY: 'Calibri','sans-serif'; COLOR: #1f497d; FONT-SIZE: 11pt">Regards,</SPAN></P>
<P class=ecxMsoNormal><SPAN style="FONT-FAMILY: 'Calibri','sans-serif'; COLOR: #1f497d; FONT-SIZE: 11pt">Randy</SPAN></P>
<P class=ecxMsoNormal><SPAN style="FONT-FAMILY: 'Calibri','sans-serif'; COLOR: #1f497d; FONT-SIZE: 11pt"> </SPAN></P>
<DIV>
<DIV style="BORDER-BOTTOM: medium none; BORDER-LEFT: medium none; PADDING-BOTTOM: 0in; PADDING-LEFT: 0in; PADDING-RIGHT: 0in; BORDER-TOP: #b5c4df 1pt solid; BORDER-RIGHT: medium none; PADDING-TOP: 3pt">
<P style="MARGIN-LEFT: 0.5in" class=ecxMsoNormal><B><SPAN style="FONT-FAMILY: 'Tahoma','sans-serif'; FONT-SIZE: 10pt">From:</SPAN></B><SPAN style="FONT-FAMILY: 'Tahoma','sans-serif'; FONT-SIZE: 10pt"> jayk123@hotmail.com [mailto:jayk123@hotmail.com] <B>On Behalf Of </B>Jay K<BR><B>Sent:</B> Thursday, April 15, 2010 5:26 PM<BR><B>To:</B> Tony<BR><B>Cc:</B> m3devel<BR><B>Subject:</B> Re: [M3devel] Modula-3/C interop in Date/Time?</SPAN></P></DIV></DIV>
<P style="MARGIN-LEFT: 0.5in" class=ecxMsoNormal> </P>
<P style="MARGIN-LEFT: 0.5in" class=ecxMsoNormal><SPAN style="FONT-FAMILY: 'Verdana','sans-serif'; FONT-SIZE: 10pt">Oops, right, of course. Important to get the things right I know to keep the question clear/narrow.<BR> <BR> - Jay<BR><BR> </SPAN></P>
<DIV style="TEXT-ALIGN: center; MARGIN-LEFT: 0.5in" class=ecxMsoNormal align=center><SPAN style="FONT-FAMILY: 'Verdana','sans-serif'; FONT-SIZE: 10pt">
<HR id=ecxstopSpelling align=center SIZE=2 width="100%">
</SPAN></DIV>
<P style="MARGIN-BOTTOM: 12pt; MARGIN-LEFT: 0.5in; MARGIN-RIGHT: 0in" class=ecxMsoNormal><SPAN style="FONT-FAMILY: 'Verdana','sans-serif'; FONT-SIZE: 10pt">From: hosking@cs.purdue.edu<BR>Date: Thu, 15 Apr 2010 12:55:52 -0400<BR>To: jay.krell@cornell.edu<BR>CC: m3devel@elegosoft.com<BR>Subject: Re: [M3devel] Modula-3/C interop in Date/Time?</SPAN></P>
<DIV>
<P style="MARGIN-LEFT: 0.5in" class=ecxMsoNormal><SPAN style="FONT-FAMILY: 'Verdana','sans-serif'; FONT-SIZE: 10pt">Excepting that INTEGER is not the same as int on 64-bit platforms.</SPAN></P></DIV>
<P style="MARGIN-LEFT: 0.5in" class=ecxMsoNormal><SPAN style="FONT-FAMILY: 'Verdana','sans-serif'; FONT-SIZE: 10pt"> </SPAN></P>
<DIV>
<DIV>
<DIV>
<P style="MARGIN-LEFT: 0.5in" class=ecxMsoNormal><SPAN class=ecxecxapple-style-span><SPAN style="FONT-FAMILY: 'Gill Sans','serif'; COLOR: blue; FONT-SIZE: 9pt">Antony Hosking</SPAN></SPAN><SPAN class=ecxecxapple-converted-space><SPAN style="FONT-FAMILY: 'Gill Sans','serif'; COLOR: black; FONT-SIZE: 9pt"> </SPAN></SPAN><SPAN class=ecxecxapple-style-span><SPAN style="FONT-FAMILY: 'Gill Sans','serif'; COLOR: black; FONT-SIZE: 9pt">|</SPAN></SPAN><SPAN class=ecxecxapple-converted-space><SPAN style="FONT-FAMILY: 'Gill Sans','serif'; COLOR: black; FONT-SIZE: 9pt"> </SPAN></SPAN><SPAN class=ecxecxapple-style-span><SPAN style="FONT-FAMILY: 'Gill Sans','serif'; COLOR: black; FONT-SIZE: 9pt">Associate Professor | Computer Science | Purdue University</SPAN></SPAN><SPAN style="FONT-FAMILY: 'Helvetica','sans-serif'; COLOR: black; FONT-SIZE: 9pt"></SPAN></P></DIV>
<DIV>
<P style="MARGIN-LEFT: 0.5in" class=ecxMsoNormal><SPAN class=ecxecxapple-style-span><SPAN style="FONT-FAMILY: 'GillSans-Light','serif'; COLOR: black; FONT-SIZE: 9pt">305 N. University Street | West Lafayette | IN 47907 | USA</SPAN></SPAN><SPAN style="FONT-FAMILY: 'Helvetica','sans-serif'; COLOR: black; FONT-SIZE: 9pt"></SPAN></P></DIV>
<DIV>
<P style="MARGIN-LEFT: 0.5in" class=ecxMsoNormal><SPAN class=ecxecxapple-style-span><SPAN style="FONT-FAMILY: 'Gill Sans','serif'; COLOR: blue; FONT-SIZE: 9pt">Office</SPAN></SPAN><SPAN class=ecxecxapple-style-span><SPAN style="FONT-FAMILY: 'GillSans-Light','serif'; COLOR: black; FONT-SIZE: 9pt"> +1 765 494 6001 |</SPAN></SPAN><SPAN class=ecxecxapple-converted-space><SPAN style="FONT-FAMILY: 'GillSans-Light','serif'; COLOR: black; FONT-SIZE: 9pt"> </SPAN></SPAN><SPAN class=ecxecxapple-style-span><SPAN style="FONT-FAMILY: 'Gill Sans','serif'; COLOR: blue; FONT-SIZE: 9pt">Mobile</SPAN></SPAN><SPAN class=ecxecxapple-converted-space><SPAN style="FONT-FAMILY: 'GillSans-Light','serif'; COLOR: black; FONT-SIZE: 9pt"> </SPAN></SPAN><SPAN class=ecxecxapple-st><SPAN style="FONT-FAMILY: 'GillSans-Light','serif'; COLOR: black; FONT-SIZE: 9pt">+1 765 427 5484</SPAN></SPAN><SPAN style="FONT-FAMILY: 'Helvetica','sans-serif'; COLOR: black; FONT-SIZE: 9pt"></SPAN></P></DIV>
<DIV>
<P style="MARGIN-LEFT: 0.5in" class=ecxMsoNormal><SPAN style="FONT-FAMILY: 'Helvetica','sans-serif'; COLOR: black; FONT-SIZE: 9pt"> </SPAN></P></DIV>
<P style="MARGIN-LEFT: 0.5in" class=ecxMsoNormal><SPAN style="FONT-FAMILY: 'Helvetica','sans-serif'; COLOR: black; FONT-SIZE: 9pt"><BR><BR></SPAN></P></DIV>
<P style="MARGIN-LEFT: 0.5in" class=ecxMsoNormal><SPAN style="FONT-FAMILY: 'Verdana','sans-serif'; FONT-SIZE: 10pt"> </SPAN></P></DIV>
<P style="MARGIN-LEFT: 0.5in" class=ecxMsoNormal><SPAN style="FONT-FAMILY: 'Verdana','sans-serif'; FONT-SIZE: 10pt"> </SPAN></P>
<DIV>
<DIV>
<P style="MARGIN-LEFT: 0.5in" class=ecxMsoNormal><SPAN style="FONT-FAMILY: 'Verdana','sans-serif'; FONT-SIZE: 10pt">On 15 Apr 2010, at 02:45, Jay K wrote:</SPAN></P></DIV>
<BLOCKQUOTE style="MARGIN-BOTTOM: 5pt">
<P style="MARGIN-LEFT: 0.5in" class=ecxMsoNormal><SPAN style="FONT-FAMILY: 'Verdana','sans-serif'; FONT-SIZE: 10pt"> </SPAN></P>
<DIV>
<P style="MARGIN-LEFT: 0.5in" class=ecxMsoNormal><SPAN style="FONT-FAMILY: 'Verdana','sans-serif'; FONT-SIZE: 10pt">Is this legal/correct?<BR> <BR> <BR>Date.i3:<BR>TYPE TimeZone <: REFANY;<BR>VAR Local, UTC: TimeZone; (* granted, will maybe change these to extern *)<BR><BR> <BR>Date.m3:</SPAN><SPAN style="FONT-SIZE: 10pt" lang=JA>¡@</SPAN><SPAN style="FONT-FAMILY: 'Verdana','sans-serif'; FONT-SIZE: 10pt"><BR>REVEAL TimeZone = BRANDED "Date.TimeZone" REF INTEGER;<BR></SPAN><SPAN style="FONT-SIZE: 10pt" lang=JA>¡@</SPAN><SPAN style="FONT-FAMILY: 'Verdana','sans-serif'; FONT-SIZE: 10pt"><BR> <BR>DatePosixC.c:<BR>static const int Local = 0;<BR>static const int UTC = 1;<BR>extern const int const * const Date__Local = &Local;<BR>extern const int const * const Date__UTC = &UTC;<BR></SPAN><SPAN style="FONT-SIZE: 10pt" lang=JA>¡@</SPAN><SPAN style="FONT-FAMILY: 'Verdana','sans-serif'; FONT-SIZE: 10pt"><BR> <BR>- Jay</SPAN></P></DIV></BLOCKQUOTE></DI
 V>
<P style="MARGIN-LEFT: 0.5in" class=ecxMsoNormal><SPAN style="FONT-FAMILY: 'Verdana','sans-serif'; FONT-SIZE: 10pt"> </SPAN></P></DIV><BR>
<HR>
<FONT color=gray size=1 face=Arial>CONFIDENTIALITY NOTICE: This email and any attachments are intended solely for the use of the named recipient(s). This email may contain confidential and/or proprietary information of Scientific Research Corporation. If you are not a named recipient, you are prohibited from reviewing, copying, using, disclosing or distributing to others the information in this email and attachments. If you believe you have received this email in error, please notify the sender immediately and permanently delete the email, any attachments, and all copies thereof from any drives or storage media and destroy any printouts of the email or attachments.<BR><BR>EXPORT COMPLIANCE NOTICE: This email and any attachments may contain technical data subject to U.S export restrictions under the International Traffic in Arms Regulations (ITAR) or the Export Administration Regulations (EAR). Export or transfer of this technical data and/or related information to any foreign
  person(s) or entity(ies), either within the U.S. or outside of the U.S., may require advance export authorization by the appropriate U.S. Government agency prior to export or transfer. In addition, technical data may not be exported or transferred to certain countries or specified designated nationals identified by U.S. embargo controls without prior export authorization. By accepting this email and any attachments, all recipients confirm that they understand and will comply with all applicable ITAR, EAR and embargo compliance requirements.<BR></FONT>                                       </body>
</html>