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


Groups > comp.lang.c > #28920

Re: What's new in C?

From Eric Sosman <esosman@comcast-dot-net.invalid>
Newsgroups comp.lang.c
Subject Re: What's new in C?
Date 2012-12-04 18:04 -0500
Organization A noiseless patient Spider
Message-ID <k9lvhe$ffd$1@dont-email.me> (permalink)
References (6 earlier) <k9anj1$iap$1@speranza.aioe.org> <k9b6a7$lb4$1@dont-email.me> <MoCdnWbKR-yIJyDNnZ2dnUVZ_qidnZ2d@supernews.com> <k9kt3r$qjf$1@dont-email.me> <k9lpb4$mhi$1@speranza.aioe.org>

Show all headers | View raw


On 12/4/2012 4:18 PM, glen herrmannsfeldt wrote:
> Eric Sosman <esosman@comcast-dot-net.invalid> wrote:
>> On 12/4/2012 3:53 AM, Cal Dershowitz wrote:
>
> (snip on VLA allocation, either on, or not on, a stack.)
>
>>> sounds like a library issue.
>
>>      Not entirely: The library and compiler must cooperate.
>
>>      For the first approach described, the compiler needs to
>> generate the malloc() and free() calls, and needs to ensure
>> that the latter are executed no matter how the block exits.
>> Getting the free() to execute in the face of a longjmp() that
>> leaps back to a remote caller requires a certain intimacy
>> between compiler and library.
>
> Seems to me that the intimacy is required for longjmp() in
> any case.

     On closer reading, it turns out that the intimacy isn't
*required* at all: If you longjmp() past a VLA's release, the
Standard allows the memory to leak.  So it's a QoI issue: A
VLA-unaware longjmp() is permitted to leak the memory (just
as it leaks other resources), or a VLA-aware longjmp() can
play nice and clean things up.

     Either way, the first approach cannot possibly be purely
a library matter: The compiler needs to arrange for the free()
(or equivalent) on any "normal" block exit, including exits by
way of return, break, continue, and goto.

> Well, I suppose in some processors the stack operation might
> be predefined well enough that there weren't any possible
> variations.

     Sorry; I don't understand this.

> Otherwise, in the case of completely static allocation
> (common in Fortran 66 and Fortran 77) there is nothing
> to deallocate.

     Also nothing like a VLA.

-- 
Eric Sosman
esosman@comcast-dot-net.invalid

Back to comp.lang.c | Previous | Next — Previous in thread | Next in thread | Find similar | Unroll thread


Thread

What's new in C? Cal Dershowitz <cal@example.invalid> - 2012-11-28 19:41 -0700
  Re: What's new in C? Keith Thompson <kst-u@mib.org> - 2012-11-28 19:15 -0800
    Re: What's new in C? Cal Dershowitz <cal@example.invalid> - 2012-12-06 02:43 -0700
      Re: What's new in C? James Kuyper <jameskuyper@verizon.net> - 2012-12-06 07:45 -0500
  Re: What's new in C? Noob <root@127.0.0.1> - 2012-11-29 10:36 +0100
    Re: What's new in C? Weland <weland@sdf.lonestar.org> - 2012-11-29 10:17 +0000
    Re: What's new in C? Cal Dershowitz <cal@example.invalid> - 2012-12-04 01:45 -0700
  Re: What's new in C? Weland <weland@sdf.lonestar.org> - 2012-11-29 09:48 +0000
    Re: What's new in C? David Brown <david@westcontrol.removethisbit.com> - 2012-11-29 13:50 +0100
  Re: What's new in C? Malcolm McLean <malcolm.mclean5@btinternet.com> - 2012-11-29 05:55 -0800
    Re: What's new in C? Les Cargill <lcargill99@comcast.com> - 2012-11-29 12:48 -0600
      Re: What's new in C? Rui Maciel <rui.maciel@gmail.com> - 2012-11-30 10:46 +0000
        Re: What's new in C? Malcolm McLean <malcolm.mclean5@btinternet.com> - 2012-11-30 05:31 -0800
          Re: What's new in C? "BartC" <bc@freeuk.com> - 2012-11-30 14:22 +0000
          Re: What's new in C? Rui Maciel <rui.maciel@gmail.com> - 2012-11-30 15:04 +0000
            Re: What's new in C? glen herrmannsfeldt <gah@ugcs.caltech.edu> - 2012-11-30 16:41 +0000
              Re: What's new in C? James Kuyper <jameskuyper@verizon.net> - 2012-11-30 11:49 -0500
              Re: What's new in C? Malcolm McLean <malcolm.mclean5@btinternet.com> - 2012-11-30 10:12 -0800
              Re: What's new in C? Keith Thompson <kst-u@mib.org> - 2012-11-30 11:12 -0800
                Re: What's new in C? glen herrmannsfeldt <gah@ugcs.caltech.edu> - 2012-11-30 22:26 +0000
                Re: What's new in C? "BartC" <bc@freeuk.com> - 2012-11-30 22:36 +0000
                Re: What's new in C? glen herrmannsfeldt <gah@ugcs.caltech.edu> - 2012-11-30 23:27 +0000
                Re: What's new in C? Cal Dershowitz <cal@example.invalid> - 2012-12-04 01:39 -0700
                Re: What's new in C? Keith Thompson <kst-u@mib.org> - 2012-12-04 00:43 -0800
                Re: What's new in C? Cal Dershowitz <cal@example.invalid> - 2012-12-04 03:14 -0700
                Re: What's new in C? Ben Bacarisse <ben.usenet@bsb.me.uk> - 2012-12-04 12:50 +0000
                Re: What's new in C? Malcolm McLean <malcolm.mclean5@btinternet.com> - 2012-12-04 05:54 -0800
                Re: What's new in C? glen herrmannsfeldt <gah@ugcs.caltech.edu> - 2012-12-04 20:51 +0000
                Re: What's new in C? Eric Sosman <esosman@comcast-dot-net.invalid> - 2012-12-04 16:09 -0500
                Re: What's new in C? James Kuyper <jameskuyper@verizon.net> - 2012-12-04 16:19 -0500
                Re: What's new in C? Ben Bacarisse <ben.usenet@bsb.me.uk> - 2012-12-04 21:45 +0000
                Re: What's new in C? glen herrmannsfeldt <gah@ugcs.caltech.edu> - 2012-12-05 01:13 +0000
                Re: What's new in C? James Kuyper <jameskuyper@verizon.net> - 2012-12-04 20:36 -0500
                Re: What's new in C? Robert Wessel <robertwessel2@yahoo.com> - 2012-12-04 20:26 -0600
                Re: What's new in C? Keith Thompson <kst-u@mib.org> - 2012-12-04 18:48 -0800
                Re: What's new in C? Ben Bacarisse <ben.usenet@bsb.me.uk> - 2012-12-05 02:57 +0000
                Re: What's new in C? "BartC" <bc@freeuk.com> - 2012-12-05 01:42 +0000
                Re: What's new in C? Cal Dershowitz <cal@example.invalid> - 2012-12-06 02:06 -0700
                Re: What's new in C? James Kuyper <jameskuyper@verizon.net> - 2012-12-06 07:50 -0500
                Re: What's new in C? JohnF <john@please.see.sig.for.email.com> - 2012-12-06 13:46 +0000
                Re: What's new in C? James Kuyper <jameskuyper@verizon.net> - 2012-12-06 09:39 -0500
              Re: What's new in C? Eric Sosman <esosman@comcast-dot-net.invalid> - 2012-11-30 15:52 -0500
                Re: What's new in C? Cal Dershowitz <cal@example.invalid> - 2012-12-04 01:53 -0700
                Re: What's new in C? Eric Sosman <esosman@comcast-dot-net.invalid> - 2012-12-04 08:16 -0500
                Re: What's new in C? glen herrmannsfeldt <gah@ugcs.caltech.edu> - 2012-12-04 21:18 +0000
                Re: What's new in C? Eric Sosman <esosman@comcast-dot-net.invalid> - 2012-12-04 18:04 -0500
                Re: What's new in C? glen herrmannsfeldt <gah@ugcs.caltech.edu> - 2012-12-05 01:19 +0000
                Re: What's new in C? Eric Sosman <esosman@comcast-dot-net.invalid> - 2012-12-04 21:05 -0500
                Re: What's new in C? Noob <root@127.0.0.1> - 2012-12-05 16:45 +0100
                Re: What's new in C? Cal Dershowitz <cal@example.invalid> - 2012-12-06 01:45 -0700
                Re: What's new in C? James Kuyper <jameskuyper@verizon.net> - 2012-12-06 08:12 -0500
                Re: What's new in C? glen herrmannsfeldt <gah@ugcs.caltech.edu> - 2012-12-06 21:13 +0000
                Re: What's new in C? Eric Sosman <esosman@comcast-dot-net.invalid> - 2012-12-06 09:15 -0500
                Re: What's new in C? Cal Dershowitz <cal@example.invalid> - 2012-12-12 18:28 -0700
        Re: What's new in C? Keith Thompson <kst-u@mib.org> - 2012-11-30 11:22 -0800
          Re: What's new in C? Cal Dershowitz <cal@example.invalid> - 2012-12-04 03:04 -0700
  Re: What's new in C? Rui Maciel <rui.maciel@gmail.com> - 2012-11-29 18:19 +0000
    Re: What's new in C? Malcolm McLean <malcolm.mclean5@btinternet.com> - 2012-11-29 11:41 -0800
  Re: What's new in C? Jorgen Grahn <grahn+nntp@snipabacken.se> - 2012-11-30 20:50 +0000
    Re: What's new in C? Jens Gustedt <jens.gustedt@loria.fr> - 2012-11-30 23:35 +0100
      Re: What's new in C? Jorgen Grahn <grahn+nntp@snipabacken.se> - 2012-12-05 03:26 +0000
        Re: What's new in C? gwowen <gwowen@gmail.com> - 2012-12-05 23:49 -0800
          Re: What's new in C? Cal Dershowitz <cal@example.invalid> - 2012-12-06 01:49 -0700
          Re: What's new in C? Jorgen Grahn <grahn+nntp@snipabacken.se> - 2012-12-08 07:55 +0000
            Re: What's new in C? "BartC" <bc@freeuk.com> - 2012-12-08 13:29 +0000
              Re: What's new in C? Jorgen Grahn <grahn+nntp@snipabacken.se> - 2012-12-08 15:23 +0000
                Re: What's new in C? Martin Shobe <martin.shobe@yahoo.com> - 2012-12-08 17:46 +0000
                Re: What's new in C? Malcolm McLean <malcolm.mclean5@btinternet.com> - 2012-12-08 10:45 -0800
                Re: What's new in C? Jorgen Grahn <grahn+nntp@snipabacken.se> - 2012-12-08 19:32 +0000
                Re: What's new in C? "BartC" <bc@freeuk.com> - 2012-12-08 18:55 +0000
                Re: What's new in C? Ian Collins <ian-news@hotmail.com> - 2012-12-09 08:26 +1300
                Re: What's new in C? "BartC" <bc@freeuk.com> - 2012-12-08 20:12 +0000
                Re: What's new in C? Ian Collins <ian-news@hotmail.com> - 2012-12-09 09:18 +1300
                Re: What's new in C? "BartC" <bc@freeuk.com> - 2012-12-08 21:21 +0000
                Re: What's new in C? Ian Collins <ian-news@hotmail.com> - 2012-12-09 10:27 +1300
                Re: What's new in C? Keith Thompson <kst-u@mib.org> - 2012-12-08 13:36 -0800
                Re: What's new in C? Keith Thompson <kst-u@mib.org> - 2012-12-08 12:59 -0800
                Re: What's new in C? "BartC" <bc@freeuk.com> - 2012-12-08 22:10 +0000
                Re: What's new in C? Keith Thompson <kst-u@mib.org> - 2012-12-08 16:15 -0800
                Re: What's new in C? Ian Collins <ian-news@hotmail.com> - 2012-12-09 14:23 +1300
                Re: What's new in C? Ian Collins <ian-news@hotmail.com> - 2012-12-09 14:20 +1300
                Re: What's new in C? Keith Thompson <kst-u@mib.org> - 2012-12-08 11:32 -0800
                Re: What's new in C? Ben Bacarisse <ben.usenet@bsb.me.uk> - 2012-12-09 02:52 +0000
                Re: What's new in C? Ben Bacarisse <ben.usenet@bsb.me.uk> - 2012-12-09 02:53 +0000
                Re: What's new in C? Jorgen Grahn <grahn+nntp@snipabacken.se> - 2012-12-08 20:08 +0000
                Re: What's new in C? "BartC" <bc@freeuk.com> - 2012-12-08 20:25 +0000

csiph-web