Groups | Search | Server Info | Keyboard shortcuts | Login | Register [http] [https] [nntp] [nntps]


Groups > comp.compilers > #3507

Re: modifying constants in Fortran and elsewhere

From David Brown <david.brown@hesbynett.no>
Newsgroups comp.compilers
Subject Re: modifying constants in Fortran and elsewhere
Date 2023-07-17 13:09 +0200
Organization Compilers Central
Message-ID <23-07-011@comp.compilers> (permalink)
References <23-07-003@comp.compilers>

Show all headers | View raw


On 11/07/2023 04:42, gah4 wrote:
> A potential bug since the earliest days of Fortran is passing a
> constant to a subroutine, and then changing the value of the dummy
> argument.
>
> In at least some Fortran system, this modifies the value of a constant
> used other places in a program.
>
> As this was known when PL/I was designed, it is defined such that
> modifiable constants are passed to called procedures. C avoids it by
> not allowing the & operator on constants. (Though K&R allows
> modification of string constants.)
>
> Somehow, in all the years, that feature was never added to Fortran.
>
> It is easy to write programs and test for it, but I wonder if there
> are any stories for real program that had this bug, and even better,
> stories about the difficulty of finding it, or problems caused by it.

I don't think any language can beat Forth here:

1 .
=>  1  ok
1 1 + .
=> 2  ok

: 1 2 ;
=> ok
1 .
=> 2  ok
1 1 + .
=> 4  ok

If you want to redefine the meaning of a number, you just define it like
any other identifier.

Back to comp.compilers | Previous | NextPrevious in thread | Find similar


Thread

modifying constants in Fortran and elsewhere gah4 <gah4@u.washington.edu> - 2023-07-10 19:42 -0700
  Re: modifying constants in Fortran and elsewhere Thomas Koenig <tkoenig@netcologne.de> - 2023-07-15 10:57 +0000
    Re: modifying constants in Fortran and elsewhere Hans-Peter Diettrich <DrDiettrich1@netscape.net> - 2023-07-16 11:56 +0200
    Re: modifying constants in Fortran and elsewhere Thomas Koenig <tkoenig@netcologne.de> - 2023-07-16 13:08 +0000
      Re: modifying constants in Fortran and elsewhere gah4 <gah4@u.washington.edu> - 2023-07-16 19:09 -0700
        Re: modifying constants in Fortran and elsewhere gah4 <gah4@u.washington.edu> - 2023-07-17 10:51 -0700
      Re: modifying constants in Fortran and elsewhere gah4 <gah4@u.washington.edu> - 2023-07-16 19:17 -0700
  Re: modifying constants in Fortran and elsewhere David Brown <david.brown@hesbynett.no> - 2023-07-17 13:09 +0200

csiph-web