<div>Hi!</div><div> </div><div> </div><div>} <span style="background-color:#ffffff;color:#000000;float:none;font-family:'calibri' , 'helvetica' , sans-serif;font-size:16px;font-style:normal;font-weight:400;text-decoration-style:initial;text-indent:0px;text-transform:none;white-space:normal;word-spacing:0px">Used quite a bit. There are two values: Win32 and Posix.</span></div><div> </div><div>Q: Cygwin is Posix?</div><div> </div><div> </div><div>}  Move (...) to C under #ifdef _WIN32</div><div> </div><div> Again we depends "C language"...</div><div> </div><div>Exist preprocessor write on Modila-2 ( i.e. we can convert it by m2tom3) for language with (* *) style comments.</div><div> </div><div>If need "ifdef" then we can use this preprocessor/</div><div> </div><div> </div><div>Best regards, Victor Miasnikov</div><div> </div><div> </div><div> </div><div>15.03.2021, 10:47, "Jay K" <jayk123@hotmail.com>:</div><blockquote><div><div style="color:rgb( 0 , 0 , 0 );font-family:'calibri' , 'helvetica' , sans-serif;font-size:12pt">The following are "problematic".<div> </div><div>By "problematic", I mean, they cause otherwise identical C backend output to vary.</div><div> </div><div>git grep ThisPlatform</div><div> Not used at all (within Critical Mass). And the worst of them, because it is different</div><div> for every system.</div><div> </div><div>git grep ThisOS</div><div>  Used quite a bit. There are two values: Win32 and Posix.</div><div> </div><div>git grep ThisEndian</div><div> Used very little -- libunicode and ordsets, that is all.</div><div> ordsets because pickles.</div><div> </div><div>I propose:</div><div> Remove ThisPlatform.</div><div> Move ThisOS to C under #ifdef _WIN32</div><div> Move ThisEndian to C under a runtime check.</div><div> </div><div>I understand, constant propagation would be lost.</div><div> </div><div>Oh, actually, ThisEndian's const-ness is heavily used by its few users.</div><div>So maybe leave that alone for now.</div><div> </div><div>ThisOS I think can be made a function call easily enough.</div><div>Or a variable that initialized early.</div><div> </div><div>It is true that Endian and OS are factors that are somewhat rampant in the system and fixing these instances is not enough to collapse the matrix.</div><div> </div><div>But ThisPlatform is trivial. It expands the matrix by n and isn't used at all.</div><div> </div><div>Thank you,</div>  - Jay</div></div>,<p>_______________________________________________<br />M3devel mailing list<br /><a href="mailto:M3devel@elegosoft.com" rel="noopener noreferrer">M3devel@elegosoft.com</a><br /><a href="https://m3lists.elegosoft.com/mailman/listinfo/m3devel" rel="noopener noreferrer">https://m3lists.elegosoft.com/mailman/listinfo/m3devel</a></p></blockquote>