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


Groups > comp.lang.c > #136499

Re: An enhancement

From David Brown <david.brown@hesbynett.no>
Newsgroups comp.lang.c
Subject Re: An enhancement
Date 2018-10-09 21:01 +0200
Organization A noiseless patient Spider
Message-ID <ppitum$uvl$1@dont-email.me> (permalink)
References (1 earlier) <87efd0vwx1.fsf@bsb.me.uk> <8874a5e1-64b6-461c-93f0-1416f96420d4@googlegroups.com> <8736tfx6s2.fsf@bsb.me.uk> <pphrk6$2d8$1@dont-email.me> <87d0sjupfh.fsf@bsb.me.uk>

Show all headers | View raw


On 09/10/18 17:09, Ben Bacarisse wrote:
> David Brown <david.brown@hesbynett.no> writes:
> 
>> On 09/10/18 03:12, Ben Bacarisse wrote:
>>> David Kleinecke <dkleinecke@gmail.com> writes:
>>>
>> <snip>
>>> You are re-inventing local functions.  Just go the whole hog and allow
>>> local functions, because the function abstraction is familiar and yet
>>> more flexible.
>>
>> They also have the advantage of existing already - as a gcc extension
>> for C, and as lambdas in C++.
> 
> For some reason I had the idea in the back of my mind that gcc had either
> removed this extension or was planning to discontinue support or some
> such.  It's likely I'm making that up...
> 


Nested functions themselves are not a problem.  The trouble comes when 
you take their address and pass that out.  To make that work, gcc uses 
trampolines (on most platforms, anyway) - small code sections generated 
at run-time on the stack.  Clearly this is not going to work with 
non-executable stacks, and is going to give security-paranoid people 
nightmares.

And while nested functions are not deprecated AFAIK (and no mention is 
given in the gcc manual), it is probably better to use C++ and lambdas 
than gcc C with nested functions.

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


Thread

An enhancement David Kleinecke <dkleinecke@gmail.com> - 2018-10-08 15:44 -0700
  Re: An enhancement Ian Collins <ian-news@hotmail.com> - 2018-10-09 11:48 +1300
    Re: An enhancement Spiros Bousbouras <spibou@gmail.com> - 2018-10-08 23:16 +0000
  Re: An enhancement Ben Bacarisse <ben.usenet@bsb.me.uk> - 2018-10-09 00:30 +0100
    Re: An enhancement David Kleinecke <dkleinecke@gmail.com> - 2018-10-08 17:24 -0700
      Re: An enhancement Ben Bacarisse <ben.usenet@bsb.me.uk> - 2018-10-09 02:12 +0100
        Re: An enhancement David Kleinecke <dkleinecke@gmail.com> - 2018-10-08 22:42 -0700
          Re: An enhancement Ben Bacarisse <ben.usenet@bsb.me.uk> - 2018-10-09 14:41 +0100
        Re: An enhancement David Brown <david.brown@hesbynett.no> - 2018-10-09 11:15 +0200
          Re: An enhancement Ben Bacarisse <ben.usenet@bsb.me.uk> - 2018-10-09 16:09 +0100
            GCC nested functions: deprecated? (Was: An enhancement) gazelle@shell.xmission.com (Kenny McCormack) - 2018-10-09 15:36 +0000
            Re: An enhancement David Brown <david.brown@hesbynett.no> - 2018-10-09 21:01 +0200
        Re: An enhancement Bart <bc@freeuk.com> - 2018-10-09 11:43 +0100
          Re: An enhancement already5chosen@yahoo.com - 2018-10-09 04:08 -0700
            Re: An enhancement Bart <bc@freeuk.com> - 2018-10-09 12:29 +0100
  Re: An enhancement Spiros Bousbouras <spibou@gmail.com> - 2018-10-08 23:37 +0000
    Re: An enhancement David Kleinecke <dkleinecke@gmail.com> - 2018-10-08 17:22 -0700
      Re: An enhancement Ian Collins <ian-news@hotmail.com> - 2018-10-09 13:30 +1300
      Re: An enhancement Spiros Bousbouras <spibou@gmail.com> - 2018-10-09 05:23 +0000
        Re: An enhancement David Kleinecke <dkleinecke@gmail.com> - 2018-10-08 22:50 -0700
        Re: An enhancement Richard Damon <Richard@Damon-Family.org> - 2018-10-09 08:28 -0400
      Re: An enhancement Wouter Verhelst <w@uter.be> - 2018-10-09 14:05 +0200
        C is often used as an "implementation language" for other languages.  (Was: An enhancement) gazelle@shell.xmission.com (Kenny McCormack) - 2018-10-09 13:13 +0000
          Re: C is often used as an "implementation language" for other languages.  (Was: An enhancement) David Brown <david.brown@hesbynett.no> - 2018-10-09 16:51 +0200
        Re: An enhancement Bart <bc@freeuk.com> - 2018-10-09 14:17 +0100
      Re: An enhancement Thiago Adams <thiago.adams@gmail.com> - 2018-10-09 05:20 -0700
        Re: An enhancement David Kleinecke <dkleinecke@gmail.com> - 2018-10-09 11:33 -0700
          Re: An enhancement Thiago Adams <thiago.adams@gmail.com> - 2018-10-09 13:41 -0700
    Re: An enhancement Bart <bc@freeuk.com> - 2018-10-09 12:35 +0100
  Re: An enhancement Wouter Verhelst <w@uter.be> - 2018-10-09 14:04 +0200
    Re: An enhancement Spiros Bousbouras <spibou@gmail.com> - 2018-10-09 12:29 +0000
      Re: An enhancement Wouter Verhelst <w@uter.be> - 2018-10-09 19:50 +0200
      Re: An enhancement queequeg@trust.no1 (Queequeg) - 2018-10-15 09:19 +0000
        Re: An enhancement already5chosen@yahoo.com - 2018-10-15 03:07 -0700
          Re: An enhancement Ian Collins <ian-news@hotmail.com> - 2018-10-15 23:18 +1300
            Re: An enhancement already5chosen@yahoo.com - 2018-10-15 03:39 -0700
              Re: An enhancement David Brown <david.brown@hesbynett.no> - 2018-10-15 13:03 +0200
                Re: An enhancement Bart <bc@freeuk.com> - 2018-10-15 12:15 +0100
                Re: An enhancement Thiago Adams <thiago.adams@gmail.com> - 2018-10-15 05:20 -0700
                Re: An enhancement Ben Bacarisse <ben.usenet@bsb.me.uk> - 2018-10-15 15:39 +0100
                Re: An enhancement David Brown <david.brown@hesbynett.no> - 2018-10-15 14:36 +0200
                Re: An enhancement Thiago Adams <thiago.adams@gmail.com> - 2018-10-15 05:59 -0700
                Re: An enhancement David Brown <david.brown@hesbynett.no> - 2018-10-15 15:08 +0200
                Re: An enhancement Thiago Adams <thiago.adams@gmail.com> - 2018-10-15 07:25 -0700
                Re: An enhancement Ben Bacarisse <ben.usenet@bsb.me.uk> - 2018-10-15 15:44 +0100
                Re: An enhancement David Kleinecke <dkleinecke@gmail.com> - 2018-10-15 19:02 -0700
                Re: An enhancement Jorgen Grahn <grahn+nntp@snipabacken.se> - 2018-10-16 05:55 +0000
                Re: An enhancement jameskuyper@alumni.caltech.edu - 2018-10-16 05:37 -0700
                Re: An enhancement Ben Bacarisse <ben.usenet@bsb.me.uk> - 2018-10-16 15:11 +0100
                Re: An enhancement David Kleinecke <dkleinecke@gmail.com> - 2018-10-16 13:33 -0700
                Re: An enhancement David Kleinecke <dkleinecke@gmail.com> - 2018-10-16 21:27 -0700
                Re: An enhancement Ben Bacarisse <ben.usenet@bsb.me.uk> - 2018-10-16 14:57 +0100
                Re: An enhancement scott@slp53.sl.home (Scott Lurndal) - 2018-10-16 14:24 +0000
                Re: An enhancement mark.bluemel@gmail.com - 2018-10-16 07:28 -0700
                Re: An enhancement Bart <bc@freeuk.com> - 2018-10-16 15:25 +0100
            Re: An enhancement Bart <bc@freeuk.com> - 2018-10-15 11:44 +0100
              Re: An enhancement David Brown <david.brown@hesbynett.no> - 2018-10-15 13:08 +0200
          Re: An enhancement Bart <bc@freeuk.com> - 2018-10-15 11:22 +0100
            Re: An enhancement David Brown <david.brown@hesbynett.no> - 2018-10-15 13:01 +0200
              Re: An enhancement Nick Bowler <nbowler@draconx.ca> - 2018-10-15 14:43 +0000

csiph-web