mirror of
https://git.savannah.gnu.org/git/guile.git
synced 2025-04-30 03:40:34 +02:00
Because of how Guile saves and restores continuations (by copying the stack), and how it uses alloca to create space for debug information on the stack, we must have an alloca() that really does use the stack, and not one that uses the heap. To do this, we use the Gnulib "alloca-opt" module instead of "alloca". This commit also updates the Gnulib sources from the current Gnulib Git repository.
119 lines
3.6 KiB
C
119 lines
3.6 KiB
C
/* DO NOT EDIT! GENERATED AUTOMATICALLY! */
|
|
/* A more-standard <time.h>.
|
|
|
|
Copyright (C) 2007-2008 Free Software Foundation, Inc.
|
|
|
|
This program is free software; you can redistribute it and/or modify
|
|
it under the terms of the GNU Lesser General Public License as published by
|
|
the Free Software Foundation; either version 2, or (at your option)
|
|
any later version.
|
|
|
|
This program is distributed in the hope that it will be useful,
|
|
but WITHOUT ANY WARRANTY; without even the implied warranty of
|
|
MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
|
|
GNU Lesser General Public License for more details.
|
|
|
|
You should have received a copy of the GNU Lesser General Public License
|
|
along with this program; if not, write to the Free Software Foundation,
|
|
Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA. */
|
|
|
|
#if __GNUC__ >= 3
|
|
#pragma GCC system_header
|
|
#endif
|
|
|
|
/* Don't get in the way of glibc when it includes time.h merely to
|
|
declare a few standard symbols, rather than to declare all the
|
|
symbols. Also, Solaris 8 <time.h> eventually includes itself
|
|
recursively; if that is happening, just include the system <time.h>
|
|
without adding our own declarations. */
|
|
#if (defined __need_time_t || defined __need_clock_t \
|
|
|| defined __need_timespec \
|
|
|| defined _GL_TIME_H)
|
|
|
|
# include_next <time.h>
|
|
|
|
#else
|
|
|
|
# define _GL_TIME_H
|
|
|
|
# include_next <time.h>
|
|
|
|
# ifdef __cplusplus
|
|
extern "C" {
|
|
# endif
|
|
|
|
/* Some systems don't define struct timespec (e.g., AIX 4.1, Ultrix 4.3).
|
|
Or they define it with the wrong member names or define it in <sys/time.h>
|
|
(e.g., FreeBSD circa 1997). */
|
|
# if ! 1
|
|
# if 0
|
|
# include <sys/time.h>
|
|
# else
|
|
# undef timespec
|
|
# define timespec rpl_timespec
|
|
struct timespec
|
|
{
|
|
time_t tv_sec;
|
|
long int tv_nsec;
|
|
};
|
|
# endif
|
|
# endif
|
|
|
|
/* Sleep for at least RQTP seconds unless interrupted, If interrupted,
|
|
return -1 and store the remaining time into RMTP. See
|
|
<http://www.opengroup.org/susv3xsh/nanosleep.html>. */
|
|
# if GNULIB_PORTCHECK
|
|
# define nanosleep rpl_nanosleep
|
|
int nanosleep (struct timespec const *__rqtp, struct timespec *__rmtp);
|
|
# endif
|
|
|
|
/* Convert TIMER to RESULT, assuming local time and UTC respectively. See
|
|
<http://www.opengroup.org/susv3xsh/localtime_r.html> and
|
|
<http://www.opengroup.org/susv3xsh/gmtime_r.html>. */
|
|
# if 0
|
|
# undef localtime_r
|
|
# define localtime_r rpl_localtime_r
|
|
# undef gmtime_r
|
|
# define gmtime_r rpl_gmtime_r
|
|
struct tm *localtime_r (time_t const *restrict __timer,
|
|
struct tm *restrict __result);
|
|
struct tm *gmtime_r (time_t const *restrict __timer,
|
|
struct tm *restrict __result);
|
|
# endif
|
|
|
|
/* Parse BUF as a time stamp, assuming FORMAT specifies its layout, and store
|
|
the resulting broken-down time into TM. See
|
|
<http://www.opengroup.org/susv3xsh/strptime.html>. */
|
|
# if GNULIB_PORTCHECK
|
|
# undef strptime
|
|
# define strptime rpl_strptime
|
|
char *strptime (char const *restrict __buf, char const *restrict __format,
|
|
struct tm *restrict __tm);
|
|
# endif
|
|
|
|
/* Convert TM to a time_t value, assuming UTC. */
|
|
# if GNULIB_PORTCHECK
|
|
# undef timegm
|
|
# define timegm rpl_timegm
|
|
time_t timegm (struct tm *__tm);
|
|
# endif
|
|
|
|
/* Encourage applications to avoid unsafe functions that can overrun
|
|
buffers when given outlandish struct tm values. Portable
|
|
applications should use strftime (or even sprintf) instead. */
|
|
# if GNULIB_PORTCHECK
|
|
# undef asctime
|
|
# define asctime eschew_asctime
|
|
# undef asctime_r
|
|
# define asctime_r eschew_asctime_r
|
|
# undef ctime
|
|
# define ctime eschew_ctime
|
|
# undef ctime_r
|
|
# define ctime_r eschew_ctime_r
|
|
# endif
|
|
|
|
# ifdef __cplusplus
|
|
}
|
|
# endif
|
|
|
|
#endif
|