comp.lang.ada
 help / color / mirror / Atom feed
From: sampson@nosc.mil (Charles H. Sampson)
Subject: Re: "Subtract C, add Ada"
Date: Wed, 25 Jan 1995 23:18:51 GMT
Date: 1995-01-25T23:18:51+00:00	[thread overview]
Message-ID: <1995Jan25.231851.20858@nosc.mil> (raw)
In-Reply-To: 3fvqj5$ofr@miranda.gmrc.gecm.com

In article <3fvqj5$ofr@miranda.gmrc.gecm.com>,
R.A.L Williams <bill@valiant> wrote:
>In article <3feevh$615@gnat.cs.nyu.edu> Robert Dewar wrote:
>: ... there are lots of things that Ada people take for granted that cannot
>: be checked in C, there just isn't enough information. C has no separation
>: of scalar types, no ranges on scalar types, and the ubquitous use of
>: pointers, and their similarity to arrays means that sophisticated aliasing
>: analysis is required to even approximate the type checking that occurs
>: in the context of access types in Ada. There are many other examples.
>
>Ranges - no, but my Microsoft C compiler certainly *does* warn me when I
> - mix signed and unsigned integers (of course, Ada83 doesn't have unsigned)
> - assign the result of 'long' expressions to shorts or chars etc.
> - perform 'unchecked conversion' between integers and pointers

     What is it warning you about?  All three of these are reasonable
things to do (o. k., the third is a little shady), so is getting a warn-
ing from the compiler about them really beneficial.  Typically, a pro-
liferation of such noisy warnings can cause the programmer to overlook
an important compiler message.

     I'm not sure what you mean by "mixing" signed and unsigned integers,
but if they come from the same base type, why shouldn't they be "mixed"?
They are just integers, after all.  If you mean assigning a value from a
signed (sub)type to an object of an unsigned (sub)type, then Ada will warn
you about it, by means of an exception, when you do it wrong but will be
silent as long as you do it right.

     The same thing will happen if you assign a value from a (sub)type
having a big range to an object of a (sub)type having a smaller range, or
to an object of type Character (after you've done all the necessary ex-
plicit conversions).

     Finally, if you want to perform an unchecked conversion from integer
to pointer, or vice versa, in Ada you have to use a syntax that basically
tells the compiler that you know what you're doing.  I don't know about
you, but I sure wouldn't look very kindly on a compiler that warns me in
such a case that I might not know what I'm doing.



  reply	other threads:[~1995-01-25 23:18 UTC|newest]

Thread overview: 85+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
1995-01-23  8:49 "Subtract C, add Ada" R.A.L Williams
1995-01-25 23:18 ` Charles H. Sampson [this message]
  -- strict thread matches above, loose matches on Subject: below --
1995-02-10 13:49 R.A.L Williams
     [not found] <3gsr0e$oin@miranda.gmrc.gecm.com>
1995-02-07 16:58 ` Mark S. Hathaway
1995-02-08  7:39   ` Travis C. Porco
1995-02-08 16:07     ` Fred J. McCall
1995-02-08 21:30       ` Garlington KE
1995-01-31  9:34 R.A.L Williams
1995-02-01 16:45 ` Charles H. Sampson
1995-01-20 10:20 R.A.L Williams
1995-01-20 13:22 ` Renaud HEBERT
1995-01-24  3:35   ` David Moore
1995-01-25  5:38     ` Robert Dewar
1995-01-28 16:35     ` Jules
1995-01-29  8:06       ` Matt Kennel
1995-01-30  5:31       ` Michael Feldman
1995-01-31 22:22         ` David O'Brien
1995-01-24 20:23   ` N. Mellor
1995-01-25  8:50     ` Robb Nebbe
1995-01-25 14:19     ` John Volan
1995-01-26  5:07     ` Samuel Mize
1995-01-26 18:51       ` Mark A Biggar
1995-01-21 15:18 ` Robert Dewar
1995-01-21 21:03 ` David O'Brien
1995-01-23  3:09   ` Jay Martin
1995-01-23 12:50     ` Andrew McConnell
1995-01-24  0:54     ` Matt Kennel
1995-01-25 17:03       ` Norman H. Cohen
1995-01-26  1:13         ` Dr. Richard Botting
1995-01-26 14:32         ` Anders Juul Munch
1995-01-24  0:17   ` Bob Kitzberger
1995-01-23 20:46 ` Robert Firth
1995-01-24 14:25   ` Samuel Mize
1995-01-25  7:27     ` David O'Brien
1995-01-25 12:14     ` Robert A Duff
1995-01-25  5:57   ` David O'Brien
     [not found]     ` <3g9rf0$71k@Starbase.NeoSoft.COM>
1995-01-28 21:08       ` David O'Brien
1995-01-31 18:07         ` Samuel Mize
1995-02-01 10:23         ` Samuel Mize
1995-01-30  0:24     ` Mark S. Hathaway
1995-01-31  3:30       ` Jay Martin
1995-02-01 13:25         ` Jesper Kaagaard
1995-01-20  9:33 R.A.L Williams
     [not found] <3fgphd$sc3@rational.rational.com>
1995-01-20  5:51 ` RonaldS60
1995-02-07 13:55   ` Robert C. Soong
     [not found] <3fdcoi$chn@miranda.gmrc.gecm.com>
1995-01-20  5:01 ` Samuel Mize
1995-01-20 22:07   ` Garlington KE
1995-01-24  5:02     ` R_Tim_Coslet
     [not found] <3etund$hnr@miranda.gmrc.gecm.com>
1995-01-12  9:56 ` Erik Svensson
1995-01-12 14:44 ` Norman H. Cohen
1995-01-13  1:51 ` David O'Brien
1995-01-13 12:38   ` Laurent Gasser
1995-01-13 20:53     ` John DiCamillo
     [not found]       ` <3f8fnf$c8p@gamma.ois.com>
1995-01-16 11:02         ` Matt Kennel
     [not found]         ` <milodD2IFpG.329@netcom.com>
1995-01-17 21:39           ` R. William Beckwith
     [not found]       ` <3fa11q$sdh@gnat.cs.nyu.edu>
1995-01-16 20:20         ` David Moore
1995-01-14  0:24     ` David O'Brien
1995-01-20  4:43     ` Samuel Mize
1995-01-21 20:28       ` David O'Brien
1995-01-22 21:12         ` Robert Dewar
1995-01-23 18:35         ` Norman H. Cohen
1995-01-23 19:18         ` John Cosby - The Coz
1995-01-24 14:11         ` Samuel Mize
1995-01-14 10:37   ` Keith Thompson
     [not found]     ` <3fcjgt$b0v@cronkite.seas.gwu.edu>
1995-01-16 18:47       ` Robert Dewar
     [not found]   ` <D2It0r.4rp@inmet.camb.inmet.com>
1995-01-17 14:11     ` Norman H. Cohen
1994-12-30 16:06 Mitch Gart
1995-01-03 19:04 ` whiting_ms@corning.com (Matt Whiting)
1995-01-05  4:31   ` Michael Feldman
1995-01-04 21:40 ` Fred McCall
1995-01-05  4:30   ` Richard Pattis
1995-01-05 16:07   ` Kevin Weise
1995-01-06 13:06   ` Jahn Rentmeister
1995-01-06 16:47     ` Laurent Gasser
1995-01-06 17:29       ` David Weller
1995-01-06 17:30         ` David Weller
1995-01-10 18:28       ` Bob Kitzberger
1995-01-06 23:36   ` Kenneth Almquist
1995-01-04 22:45 ` Jay M. Martin
1995-01-05  4:37   ` Michael Feldman
1995-01-05 18:08     ` Jay Martin
1995-01-05 23:56       ` Robert Dewar
1995-01-08  8:04         ` Jay Martin
1995-01-06  0:07       ` Michael M. Bishop
1995-01-10 21:30         ` Jay Martin
replies disabled

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