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


Groups > comp.lang.c > #58877

Re: local arrays and stack

From Keith Thompson <kst-u@mib.org>
Newsgroups comp.lang.c
Subject Re: local arrays and stack
Date 2015-03-24 13:42 -0700
Organization None to speak of
Message-ID <87384urut8.fsf@kst-u.example.com> (permalink)
References (4 earlier) <87k2y7u48c.fsf@kst-u.example.com> <705a5674-dbc9-460a-a72c-50bf1946be01@googlegroups.com> <mepdmh$qso$1@dont-email.me> <87fv8vu1sx.fsf@kst-u.example.com> <kfnpp7yfblo.fsf@x-alumni2.alumni.caltech.edu>

Show all headers | View raw


Tim Rentsch <txr@alumni.caltech.edu> writes:
> Keith Thompson <kst-u@mib.org> writes:
>> Bartc <bc@freeuk.com> writes:
>>> [snip]
>>
>> Does gcc *ever* (generate code to) allocate local non-static
>> arrays on the heap or in static memory?  It would have to generate
>> code to explicitly deallocate the array, even in the presence of a
>> goto or longjmp() out of the scope.  [snip]
>
> Certainly it would be nice if a compiler did manage to deallocate
> such arrays even in the presence of longjmp(), but strictly
> speaking I'm not sure there is a requirement to do so.  So I
> think that's a QoI issue, not a conformance problem.  Note that
> for VLA's there is an (informative) explicit remark in the
> Standard about this, in 7.13.2.1 p5.  I don't see any text in the
> Standard that makes arrays that are not VLA's different in this
> regard (or for that matter, non-arrays either - if we had a big
> struct we might very well want to allocate it using non-stack
> memory).

The cited remark is:

    EXAMPLE The longjmp function that returns control back to the point
    of the setjmp invocation might cause memory associated with a
    variable length array object to be squandered.

But paragraph 2 specifically addresses VLAs:

    ... or if the invocation of the setjmp macro was within the scope of
    an identifier with variably modified type and execution has left
    that scope in the interim, the behavior is undefined.

(If you're going to cite the standard, it would be useful to
copy-and-paste the actual text, or at least summarize it, for those who
don't have a copy handy.)

-- 
Keith Thompson (The_Other_Keith) kst-u@mib.org  <http://www.ghoti.net/~kst>
Working, but not speaking, for JetHead Development, Inc.
"We must do something.  This is something.  Therefore, we must do this."
    -- Antony Jay and Jonathan Lynn, "Yes Minister"

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


Thread

local arrays and stack fir <profesor.fir@gmail.com> - 2015-03-22 01:51 -0700
  local arrays and stack asetofsymbols@gmail.com - 2015-03-22 02:23 -0700
  Re: local arrays and stack Malcolm McLean <malcolm.mclean5@btinternet.com> - 2015-03-22 13:22 -0700
    Re: local arrays and stack fir <profesor.fir@gmail.com> - 2015-03-23 01:55 -0700
  Re: local arrays and stack Xcott Craver <xcottcraver@gmail.com> - 2015-03-22 15:07 -0700
    Re: local arrays and stack fir <profesor.fir@gmail.com> - 2015-03-23 01:50 -0700
      Re: local arrays and stack Robert Wessel <robertwessel2@yahoo.com> - 2015-03-23 04:26 -0500
        Re: local arrays and stack fir <profesor.fir@gmail.com> - 2015-03-23 06:53 -0700
        Re: local arrays and stack Xcott Craver <xcottcraver@gmail.com> - 2015-03-23 07:29 -0700
          Re: local arrays and stack fir <profesor.fir@gmail.com> - 2015-03-23 08:34 -0700
          Re: local arrays and stack Robert Wessel <robertwessel2@yahoo.com> - 2015-03-23 19:57 -0500
          Re: local arrays and stack fir <profesor.fir@gmail.com> - 2015-03-24 04:01 -0700
            Re: local arrays and stack fir <profesor.fir@gmail.com> - 2015-03-24 04:37 -0700
            Re: local arrays and stack David Brown <david.brown@hesbynett.no> - 2015-03-24 13:04 +0100
              Re: local arrays and stack glen herrmannsfeldt <gah@ugcs.caltech.edu> - 2015-03-24 17:29 +0000
                Re: local arrays and stack David Brown <david.brown@hesbynett.no> - 2015-03-24 20:01 +0100
        Re: local arrays and stack Keith Thompson <kst-u@mib.org> - 2015-03-23 08:24 -0700
          Re: local arrays and stack fir <profesor.fir@gmail.com> - 2015-03-23 08:42 -0700
            Re: local arrays and stack Bartc <bc@freeuk.com> - 2015-03-23 16:07 +0000
              Re: local arrays and stack fir <profesor.fir@gmail.com> - 2015-03-23 09:15 -0700
              Re: local arrays and stack Keith Thompson <kst-u@mib.org> - 2015-03-23 09:16 -0700
                Re: local arrays and stack Bartc <bc@freeuk.com> - 2015-03-23 16:34 +0000
                Re: local arrays and stack Xcott Craver <xcottcraver@gmail.com> - 2015-03-23 10:12 -0700
                Re: local arrays and stack Bartc <bc@freeuk.com> - 2015-03-23 17:44 +0000
                Re: local arrays and stack fir <profesor.fir@gmail.com> - 2015-03-23 11:47 -0700
                Re: local arrays and stack Xcott Craver <xcottcraver@gmail.com> - 2015-03-23 12:06 -0700
                Re: local arrays and stack Bartc <bc@freeuk.com> - 2015-03-23 20:25 +0000
                Re: local arrays and stack Xcott Craver <xcottcraver@gmail.com> - 2015-03-23 14:10 -0700
                Re: local arrays and stack Bartc <bc@freeuk.com> - 2015-03-23 22:22 +0000
                Re: local arrays and stack fir <profesor.fir@gmail.com> - 2015-03-23 23:57 -0700
                Re: local arrays and stack David Brown <david.brown@hesbynett.no> - 2015-03-24 10:28 +0100
                Re: local arrays and stack Bartc <bc@freeuk.com> - 2015-03-24 10:44 +0000
                Re: local arrays and stack Martin Shobe <martin.shobe@yahoo.com> - 2015-03-24 06:38 -0500
                Re: local arrays and stack Martin Shobe <martin.shobe@yahoo.com> - 2015-03-24 09:57 -0500
                Re: local arrays and stack David Brown <david.brown@hesbynett.no> - 2015-03-24 13:22 +0100
                Re: local arrays and stack Bartc <bc@freeuk.com> - 2015-03-25 16:07 +0000
                Re: local arrays and stack David Brown <david.brown@hesbynett.no> - 2015-03-25 17:42 +0100
                Re: local arrays and stack Bartc <bc@freeuk.com> - 2015-03-25 19:06 +0000
                Re: local arrays and stack fir <profesor.fir@gmail.com> - 2015-03-25 12:26 -0700
                Re: local arrays and stack fir <profesor.fir@gmail.com> - 2015-03-25 13:20 -0700
                Re: local arrays and stack Malcolm McLean <malcolm.mclean5@btinternet.com> - 2015-03-25 12:28 -0700
                Re: local arrays and stack David Brown <david.brown@hesbynett.no> - 2015-03-25 21:45 +0100
                Re: local arrays and stack Keith Thompson <kst-u@mib.org> - 2015-03-25 12:50 -0700
                Re: local arrays and stack Bartc <bc@freeuk.com> - 2015-03-25 22:33 +0000
                Re: local arrays and stack David Brown <david.brown@hesbynett.no> - 2015-03-25 23:57 +0100
                Re: local arrays and stack David Brown <david.brown@hesbynett.no> - 2015-03-25 21:42 +0100
                Re: local arrays and stack fir <profesor.fir@gmail.com> - 2015-03-25 09:55 -0700
                Re: local arrays and stack Keith Thompson <kst-u@mib.org> - 2015-03-25 12:36 -0700
                Re: local arrays and stack fir <profesor.fir@gmail.com> - 2015-03-25 13:04 -0700
                Re: local arrays and stack David Brown <david.brown@hesbynett.no> - 2015-03-25 21:52 +0100
                Re: local arrays and stack Malcolm McLean <malcolm.mclean5@btinternet.com> - 2015-03-25 15:18 -0700
                Re: local arrays and stack David Brown <david.brown@hesbynett.no> - 2015-03-26 00:02 +0100
                Re: local arrays and stack Melzzzzz <mel@zzzzz.com> - 2015-03-26 00:47 +0100
                Re: local arrays and stack Mel <mel@zzzzz.com> - 2015-03-24 14:58 +0100
                Re: local arrays and stack Xcott Craver <xcottcraver@gmail.com> - 2015-03-24 06:58 -0700
                Re: local arrays and stack Keith Thompson <kst-u@mib.org> - 2015-03-23 14:34 -0700
                Re: local arrays and stack David Brown <david.brown@hesbynett.no> - 2015-03-24 10:16 +0100
                Re: local arrays and stack David Brown <david.brown@hesbynett.no> - 2015-03-24 09:55 +0100
                Re: local arrays and stack Noob <root@127.0.0.1> - 2015-03-24 10:23 +0100
                Re: local arrays and stack Tim Rentsch <txr@alumni.caltech.edu> - 2015-03-24 12:18 -0700
                Re: local arrays and stack Keith Thompson <kst-u@mib.org> - 2015-03-24 13:42 -0700
                Re: local arrays and stack Tim Rentsch <txr@alumni.caltech.edu> - 2015-03-25 08:47 -0700
            Re: local arrays and stack Xcott Craver <xcottcraver@gmail.com> - 2015-03-23 09:32 -0700
              Re: local arrays and stack fir <profesor.fir@gmail.com> - 2015-03-23 09:57 -0700
              Re: local arrays and stack Keith Thompson <kst-u@mib.org> - 2015-03-23 10:37 -0700
                Re: local arrays and stack Xcott Craver <xcottcraver@gmail.com> - 2015-03-23 10:49 -0700
                Re: local arrays and stack Keith Thompson <kst-u@mib.org> - 2015-03-23 12:48 -0700
                Re: local arrays and stack jt@toerring.de (Jens Thoms Toerring) - 2015-03-23 22:29 +0000
                Re: local arrays and stack James Kuyper <jameskuyper@verizon.net> - 2015-03-23 19:03 -0400
                Re: local arrays and stack jt@toerring.de (Jens Thoms Toerring) - 2015-03-23 23:36 +0000
                Re: local arrays and stack fir <profesor.fir@gmail.com> - 2015-03-24 02:17 -0700
                Re: local arrays and stack Malcolm McLean <malcolm.mclean5@btinternet.com> - 2015-03-23 11:56 -0700
          Re: local arrays and stack Robert Wessel <robertwessel2@yahoo.com> - 2015-03-23 20:00 -0500
            Re: local arrays and stack David Brown <david.brown@hesbynett.no> - 2015-03-24 10:39 +0100

csiph-web