comp.lang.ada
 help / color / mirror / Atom feed
From: David Brown <cla@davidb.org>
Subject: Re: Ada's Slide To Oblivion ...
Date: Thu, 07 Feb 2002 21:36:59 GMT
Date: 2002-02-07T21:36:59+00:00	[thread overview]
Message-ID: <%rC88.3860$oC3.2148048@typhoon.san.rr.com> (raw)
In-Reply-To: 3C62D397.8040001@mail.com

Hyman Rosen <hyrosen@mail.com> wrote:
> Ray Blaak wrote:
>> You most certainly can:
>>        typedef void (*FUNC)();
>>        int i = 0;
>>        FUNC f = (FUNC) &i;
>> 
>> That this crashes with access violations on a sane OS is a good thing, but
>> nothing in the language is preventing the code/data conversions.
> 
> False. The typecast '(FUNC)&i' is not legal standard C or C++.
> It's not even a case of undefined results - it's just illegal.
> Some compilers permit it as an extension, though.

Legality aside, I have yet to find a compiler that doesn't accept this.
In fact, I have code that does this very thing, it creates a small
amount of data that happens to be instructions, casts it to a function
pointer and calls it.

There are a certain set of problems that would require hand-crafted
assembly to implement if this were not allowed.  These constructs are
usually (hopefully) only done in OS implementations, and runtime
libraries for languages.

Dave Brown



  reply	other threads:[~2002-02-07 21:36 UTC|newest]

Thread overview: 78+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2002-01-30 23:09 Ada's Slide To Oblivion Volkert
2002-01-30 23:57 ` Marin David Condic
2002-01-31  3:04   ` Richard Riehle
2002-01-31  3:05     ` Eric Merritt
2002-01-31 16:26       ` Richard Riehle
2002-01-31 16:41         ` Larry Kilgallen
2002-02-02 15:51           ` Zach Swanson
2002-02-02 19:18             ` Richard Riehle
2002-02-04  4:43         ` Richard Riehle
2002-01-31 14:37     ` Marin David Condic
2002-01-31 15:14   ` Ted Dennison
2002-01-31 17:16     ` Marin David Condic
2002-01-31 18:32       ` Steve O'Neill
2002-01-31 18:27     ` Warren W. Gay VE3WWG
2002-01-31 19:22       ` Marin David Condic
2002-01-31 20:40       ` Christopher A. Bohn
2002-01-31 21:08         ` Marin David Condic
2002-02-01 14:22           ` [off-topic - to lighten the air] Wes Groleau
2002-02-01  2:31         ` Ada's Slide To Oblivion Richard Riehle
2002-02-04 16:51           ` Jerry Petrey
2002-02-04 17:49             ` Richard Riehle
2002-02-04 18:24               ` Marin David Condic
2002-02-05  9:04                 ` DPH
2002-02-05 14:46                   ` Marin David Condic
2002-02-05 16:37                 ` Wes Groleau
2002-02-05 17:22                   ` Marin David Condic
2002-02-05 18:42                   ` Preben Randhol
2002-02-06 21:37                     ` Warren W. Gay VE3WWG
2002-02-07 11:30                       ` Georg Bauhaus
2002-02-05 13:48               ` Georg Bauhaus
2002-02-06  7:07             ` Anders Wirzenius
2002-02-01  2:26       ` Richard Riehle
2002-02-01 14:27         ` A. Nonny Mouse
2002-02-01 17:18         ` Dale Pontius
2002-02-06  2:37           ` Nick Roberts
2002-02-06  7:31             ` Ole-Hjalmar Kristensen
2002-02-06 21:27               ` Nick Roberts
2002-02-06 22:03                 ` Ian S. Nelson
2002-02-07  1:44                 ` Philip Cummins
2002-02-07 13:56                 ` Ian Wild
2002-02-07 17:25                   ` Ray Blaak
2002-02-07 19:20                     ` Hyman Rosen
2002-02-07 21:36                       ` David Brown [this message]
2002-02-08 10:36                         ` Ian Wild
2002-02-08 12:23                           ` Ole-Hjalmar Kristensen
2002-02-08 12:51                             ` Ian Wild
2002-02-08 14:28                               ` Marin David Condic
2002-02-08 15:52                               ` Ole-Hjalmar Kristensen
2002-02-08 13:08                             ` Nick Roberts
2002-02-08 21:28                               ` Matthew Woodcraft
2002-02-08 21:45                               ` Nick Roberts
2002-02-08 22:44                                 ` Darren New
2002-02-09  0:39                           ` David Brown
2002-02-18  3:54                 ` David Thompson
2002-02-06 14:59             ` Ian S. Nelson
2002-01-31 18:28     ` Warren W. Gay VE3WWG
2002-01-31  2:37 ` Jim Rogers
2002-01-31 15:02   ` Marin David Condic
2002-01-31 18:28     ` Steve O'Neill
2002-01-31 19:41       ` Larry Kilgallen
2002-01-31 19:53         ` martin.m.dowie
2002-01-31 20:06         ` Marin David Condic
2002-01-31 21:06         ` Steve O'Neill
2002-01-31 22:28           ` Marin David Condic
2002-01-31 19:42       ` Marin David Condic
2002-01-31 18:41     ` Warren W. Gay VE3WWG
2002-01-31 19:52       ` Marin David Condic
2002-02-01 18:31         ` Warren W. Gay VE3WWG
2002-02-01 12:28     ` David Gillon
2002-02-01 21:02       ` Marin David Condic
2002-02-02  4:05         ` Adrian Hoe
2002-02-02 12:51           ` Jeffrey Creem
2002-02-04 15:58           ` Marin David Condic
2002-02-02  4:02       ` Adrian Hoe
2002-02-02 17:35         ` tmoran
2002-02-01  1:42 ` Randy Brukardt
2002-02-01 16:56   ` Nick Roberts
  -- strict thread matches above, loose matches on Subject: below --
2002-02-06  7:02 Christoph Grein
replies disabled

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