"Fossies" - the Fresh Open Source Software Archive

Member "gnuastro-0.9/bootstrapped/tests/test-alloca-opt.c" (17 Apr 2019, 1523 Bytes) of package /linux/privat/gnuastro-0.9.tar.lz:


As a special service "Fossies" has tried to format the requested source page into HTML format using (guessed) C and C++ source code syntax highlighting (style: standard) with prefixed line numbers and code folding option. Alternatively you can here view or download the uninterpreted source code file. See also the latest Fossies "Diffs" side-by-side code changes report for "test-alloca-opt.c": 0.8_vs_0.9.

    1 /* Test of optional automatic memory allocation.
    2    Copyright (C) 2005, 2007, 2009-2019 Free Software Foundation, Inc.
    3 
    4    This program is free software: you can redistribute it and/or modify
    5    it under the terms of the GNU General Public License as published by
    6    the Free Software Foundation; either version 3 of the License, or
    7    (at your option) any later version.
    8 
    9    This program is distributed in the hope that it will be useful,
   10    but WITHOUT ANY WARRANTY; without even the implied warranty of
   11    MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
   12    GNU General Public License for more details.
   13 
   14    You should have received a copy of the GNU General Public License
   15    along with this program.  If not, see <https://www.gnu.org/licenses/>.  */
   16 
   17 /* Written by Bruno Haible <bruno@clisp.org>, 2007.  */
   18 
   19 #include <config.h>
   20 
   21 #include <alloca.h>
   22 
   23 #if HAVE_ALLOCA
   24 
   25 static void
   26 do_allocation (int n)
   27 {
   28   void *ptr = alloca (n);
   29   (void) ptr;
   30 }
   31 
   32 void (*func) (int) = do_allocation;
   33 
   34 #endif
   35 
   36 int
   37 main ()
   38 {
   39 #if HAVE_ALLOCA
   40   int i;
   41 
   42   /* Repeat a lot of times, to make sure there's no memory leak.  */
   43   for (i = 0; i < 100000; i++)
   44     {
   45       /* Try various values.
   46          n = 0 gave a crash on Alpha with gcc-2.5.8.
   47          Some versions of Mac OS X have a stack size limit of 512 KB.  */
   48       func (34);
   49       func (134);
   50       func (399);
   51       func (510823);
   52       func (129321);
   53       func (0);
   54       func (4070);
   55       func (4095);
   56       func (1);
   57       func (16582);
   58     }
   59 #endif
   60 
   61   return 0;
   62 }