Re: 'static' in array-size func parm

2014-08-09 Thread Thien-Thi Nguyen
() Paul Eggert () Fri, 08 Aug 2014 23:49:54 -0700 OK, I added it just now. Thanks. GNU RCS now uses it: http://git.sv.gnu.org/cgit/rcs.git/commit/?h=p&id=0b7eed81ba -- Thien-Thi Nguyen GPG key: 4C807502 (if you're human and you know it) read my lisp: (responsep (questions 'te

Re: 'static' in array-size func parm

2014-08-08 Thread Paul Eggert
Thien-Thi Nguyen wrote: In this case, i eagerly await gnulib module ‘vla’ and will switch RCS to use it (and ‘VLA_ELEMS’). OK, I added it just now.

Re: 'static' in array-size func parm

2014-08-08 Thread Thien-Thi Nguyen
() Paul Eggert () Fri, 08 Aug 2014 12:54:14 -0700 Thien-Thi Nguyen wrote: > IIUC, as it is proposed, RCS would still have to do that test > and then re-‘#define VLA_ELEMS’: No, because if RCS uses Gnulib's vararrays module, the test will be done correctly, and will catch the Solar

Re: 'static' in array-size func parm

2014-08-08 Thread Paul Eggert
Thien-Thi Nguyen wrote: IIUC, as it is proposed, RCS would still have to do that test and then re-‘#define VLA_ELEMS’: No, because if RCS uses Gnulib's vararrays module, the test will be done correctly, and will catch the Solaris 10 bug. Actually, all that RCS should have to do is use the vl

Re: 'static' in array-size func parm

2014-08-08 Thread Thien-Thi Nguyen
() Paul Eggert () Fri, 08 Aug 2014 00:57:37 -0700 "Partially" because the vararrays module merely defines __STDC_NO_VLA__ a la C11. The new module would define VLA_ELEMS, which would be the rest of the job that gnulib could reasonably do. IIUC, as it is proposed, RCS would still hav

Re: 'static' in array-size func parm

2014-08-08 Thread Paul Eggert
Thien-Thi Nguyen wrote: You say "partially", so i infer that buggy compiler detection remains an RCS responsibility (and that doing so via configure-time test is still the best way). Is that correct? If not, what do you mean by "partially"? "Partially" because the vararrays module merely defin

Re: 'static' in array-size func parm

2014-08-08 Thread Thien-Thi Nguyen
() Paul Eggert () Thu, 07 Aug 2014 17:44:00 -0700 First, I partially addressed this problem in 2006 in gnulib's AC_C_VARARRAYS macro (sorry, I forgot about this until today). No worries. Second, the C standardization committee addressed it in a different way, in C11's __STDC_NO_VLA_

Re: 'static' in array-size func parm

2014-08-07 Thread Paul Eggert
In looking into this I realized a couple of things. First, I partially addressed this problem in 2006 in gnulib's AC_C_VARARRAYS macro (sorry, I forgot about this until today). Second, the C standardization committee addressed it in a different way, in C11's __STDC_NO_VLA__ macro. So just no

Re: 'static' in array-size func parm

2014-08-06 Thread Thien-Thi Nguyen
() Paul Eggert () Wed, 06 Aug 2014 17:14:48 -0700 bug does not occur with nested functions Thanks for catching this. In my rush, i neglected to read ‘AC_COMPILE_IFELSE’ docs carefully. I have now moved the func defs into the PROLOGUE and added a BODY. -- Thien-Thi Nguyen GPG key: 4C8075

Re: 'static' in array-size func parm

2014-08-06 Thread Paul Eggert
Thien-Thi Nguyen wrote: I have installed that change. Does it result in "...no" now? Unfortunately not, since the bug does not occur with nested functions (the most recent version nested the definition of 'last' and 'last1' inside 'main'). They need to be top-level functions to elicit the b

Re: 'static' in array-size func parm

2014-08-06 Thread Thien-Thi Nguyen
() Paul Eggert () Wed, 06 Aug 2014 09:16:48 -0700 I'd be interested in getting this to work in gnulib, but unfortunately it doesn't work yet with RCS so let's fix that first. OK. Actually, GCC 3.4.3 *can* compile that. [particulars] Please try the following program instead: int

Re: 'static' in array-size func parm

2014-08-06 Thread Paul Eggert
I'd be interested in getting this to work in gnulib, but unfortunately it doesn't work yet with RCS so let's fix that first. Thien-Thi Nguyen wrote: I recently learned that GCC 3.4.3 on Solaris 10 cannot compile: int last (int count, int all[static count]) { return all[count - 1];