comp.lang.ada
 help / color / mirror / Atom feed
From: bourguet@my-dejanews.com
Subject: Re: Elaborate compile-time error messages (was: GNAT Stream Read ...)
Date: 1999/01/06
Date: 1999-01-06T00:00:00+00:00	[thread overview]
Message-ID: <7703mi$nlk$1@nnrp1.dejanews.com> (raw)
In-Reply-To: 1999Jan6.072356.1@eisner

In article <1999Jan6.072356.1@eisner>,
  Kilgallen@eisner.decus.org.nospam wrote:
> In article <76uv4j$njr$1@nnrp1.dejanews.com>, dewar@gnat.com writes:
>
> > Surely if you use -gnatv to point out the EXACT location of
> > the error:
> >
> >     30.          Long_Integer'Read(S, Data(ndx).elements);
> >                                            |
> >         >>> expected type "Standard.integer"
> >         >>> found type "Standard.long_integer"
> >
> > that should be enough of a clue, it is VERY specifically
> > telling you that the subscript of Data must be of type
> > Standard.integer, and you are using long_integer.
> >
> > While you are learning Ada 95, use -gnatv as a matter of
> > course to tell exactly where the error message is being
> > posted. GNAT goes to great pains to try to post the error
> > in exactly the most helpful place, take advantage of this!
>
> That certainly is a high quality error message.  I am curious as to
> why it is not the default.  Is there some set of programmers who get
> really mad at having the compiler be smarter than they are about the
> nature of a problem.

AFAIK, the only thing that -gnatv change is the way the error position
is referenced (and Robert message does not let me think otherwise).
Without -gnatv, gnat issue an error message with the position given as
filename:linenum:colnum.
With -gnatv gnat issue the same message but with the position given by a
two line listing and a | pointing to the character.

Why is it not the default? I do not know for sure: the default is more
dense and correspond to the coding standard of the FSF (other compilers
based on gcc issue the same kind of messages, emacs is able to parse
these error messages and use them to point you directly on the problem).
When I do not compile under emacs I usually use the -gnatv (or even
recompile under emacs when I see a problem :-).

> I first used Ada with DEC Ada, where the error messages are also
> quite complete, and it has never occurred to me to look for a way
> to make them shorter.

The error messages from gnat are the best I've ever seen in a compiler.
I'd like the c++ compiler I use at work issue half as good error messages
(it issue routinely when there is a problem in template instanciation the
worst error message I've ever seen: a crash preceded by a totaly irrelevant
message applyed to a random line number).

-- Jean-Marc

-----------== Posted via Deja News, The Discussion Network ==----------
http://www.dejanews.com/       Search, Read, Discuss, or Start Your Own    




  parent reply	other threads:[~1999-01-06  0:00 UTC|newest]

Thread overview: 14+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
1999-01-05  0:00 GNAT Stream Read processing problem Bruce Detter
1999-01-05  0:00 ` Tom Moran
1999-01-05  0:00   ` Bruce Detter
1999-01-06  0:00 ` dewar
1999-01-06  0:00   ` Bruce Detter
1999-01-06  0:00   ` Elaborate compile-time error messages (was: GNAT Stream Read ...) Larry Kilgallen
1999-01-06  0:00     ` Marin David Condic
1999-01-11  0:00       ` Georg Bauhaus
1999-01-13  0:00         ` Simon Wright
1999-01-06  0:00     ` bourguet [this message]
1999-01-07  0:00     ` dewar
1999-01-07  0:00       ` Larry Kilgallen
1999-01-10  0:00         ` robert_dewar
1999-01-06  0:00   ` GNAT Stream Read processing problem Matthew Heaney
replies disabled

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox