From: sgk@REMOVEtroutmask.apl.washington.edu   
      
   On Sun, 28 Jan 2024 08:54:48 +0000, Thomas Koenig wrote:   
      
   > Lawrence D'Oliveiro schrieb:   
   >> On Sat, 27 Jan 2024 22:58:27 -0000 (UTC), Thomas Koenig wrote:   
   >>   
   >>> Lawrence D'Oliveiro schrieb:   
   >>>   
   >>>> It even does recursive functions/subroutines. But you must explicitly   
   >>>> declare them RECURSIVE, which C doesn’t.   
   >>>   
   >>> It's the functionality that counts, not the syntax.   
   >>   
   >> You shouldn’t need separate syntax to enable something that should be   
   >> available as a matter of course.   
   >   
   > What "should be available as a matter of course" is very much an   
   > opinion, and there are two sides to that argument what should be the   
   > default.   
   >   
   > Just one example: Stack sizes are severely limited even on modern   
   > systems, at least by default (and sometimes even more severely for   
   > multithreaded applications). So, it is quite possible for an   
   > application to work fine with non-recursive subroutines, but to crash   
   > mysteriously with recursive subrotines, on modern systems.   
   >   
   > So, should a compiler by default follow F2018 (which makes procedures   
   > recursive by default) or not? Hmmm...   
      
   I submitted a patch to implement the NON_RECURSIVE prefix and   
   made the change to make procedure recursive by default. It's   
   in bugzilla. Janne and I had a short discussion, and we are   
   both leary of what might happen with the stack; particular for   
   an OS that provides a small stack.   
      
   https://gcc.gnu.org/bugzilla/show_bug.cgi?id=101632   
      
   --   
   steve   
      
   --- SoupGate-Win32 v1.05   
    * Origin: you cannot sedate... all the things you hate (1:229/2)   
|