Re: Fortran pointers



Mathemagician <mathemagician@xxxxxxx> wrote:

This is where the process of creating a "minimal complete example" is
useful.

Thanks for the tipp. I've intuitively done that before, but I wasn't
aware that it's a common concept.

Oh. Absolutely. And to let you in on a "secret" :-) ... if you are good
at it, and put in the work (it can be a bit of work at times), compiler
developers come to appreciate you a lot. In NAG's early days of 15 years
ago, back when it was the first release of the first f90 compiler and
had lots of bugs, I submitted lots of bug reports (over 100 eventually).
I'm sure that my bug reports got priority treatment, not because anyone
at NAG had ever heard of me before (I wasn't yet on J3 or otherwise well
known in global Fortran circles), but because the developers noticed
that my bug reports tended to:

1. Be about actual bugs in the compiler instead of just errors in my own
code.

and

2. Include minimal complete examples that made it very easy for the
developer to find the bugs.

They like that a lot better than getting an 8,000-line mess of a
program, with the complaint that it "doesn't work" (no further details),
where the problem turns out to be a user code error. I've seen ones like
that.

Anyway, I tested Mike's example and it already displays the problem on
my compiler.

THat seems like pretty strong evidence of a compiler bug, then. And
Mike's example is an excellent (as I'd expect from him) "minimal
complete example" well suited for a bug report. If you still have
support contacts for the compiler, I'd suggest submitting it as a bug
report. On the other hand, maybe the "if" in the previous sentence is a
pretty big one. I recall the Salford compiler getting sold and
remarketted under a different name, so if yours is still called Salford,
odds are that it isn't a current supported version... though I haven't
done anything actually useful like research the version number you
cited.

Barring any solution for this, I guess the only option I have is to use
the original data field instead of another pointer, even if this makes
the code less readable.

I'd frankly be concerned about other pointer-related things with the
compiler until I managed to figure out exactly what conditions trigger
the apparent bug. It seems pretty basic.

--
Richard Maine | Good judgment comes from experience;
email: my first.last at org.domain| experience comes from bad judgment.
org: nasa, domain: gov | -- Mark Twain
.



Relevant Pages

  • Re: Debian Love
    ... ever got Debian to work, ... Unfortunately, the developers either did not get the message, ... what is the bug ID number of the bug you reported? ... I feel fine about that: all bug reports go directly ...
    (Debian-User)
  • Re: Text box throws an Error 7 Out of Memory with less than 27K in it!
    ... I'd have to agree with Bob here, ... >> those exact numbers and then concatenates that many more, ... I used to work supercomputer compiler support at CDC. ... > My favorite such bug at CDC was a benchmark that ran instantaneously. ...
    (microsoft.public.vb.enterprise)
  • Re: Bug in latest IAR MSP430 compiler optimization???
    ... It has been assigned bug id EW20095, and it will be fixed in the ... The tests compiler companies do are quite extensive. ... register allocation when combined with post-incs and rollup. ... IAR use an industry standard test suite like this (that you don't ...
    (comp.arch.embedded)
  • Re: How to improve the quality of the kernel?
    ... a big infrastructure patch exposing a latent old bug in some ... "If the patch introduces a new regression" ... I think that we can handle bug reports like we handle modifications of code. ... resources and systems that are available to individual developers. ...
    (Linux-Kernel)
  • Re: Salford compiler: Assigning a value to a constant expression is invalid
    ... a bug, it is not usually wise, I think, to assume that it's a compiler bug. ... -|> I'd suggest submitting a self-contained source code file to Salford Support. ... So all I had to do in that case was send the routine and ...
    (comp.lang.fortran)