89
#if @GNULIB_MALLOC_POSIX@
90
# if !@HAVE_MALLOC_POSIX@
92
# define malloc rpl_malloc
93
extern void * malloc (size_t size);
95
#elif defined GNULIB_POSIXCHECK
98
(GL_LINK_WARNING ("malloc is not POSIX compliant everywhere - " \
99
"use gnulib module malloc-posix for portability"), \
104
#if @GNULIB_REALLOC_POSIX@
105
# if !@HAVE_REALLOC_POSIX@
107
# define realloc rpl_realloc
108
extern void * realloc (void *ptr, size_t size);
110
#elif defined GNULIB_POSIXCHECK
112
# define realloc(p,s) \
113
(GL_LINK_WARNING ("realloc is not POSIX compliant everywhere - " \
114
"use gnulib module realloc-posix for portability"), \
119
#if @GNULIB_CALLOC_POSIX@
120
# if !@HAVE_CALLOC_POSIX@
122
# define calloc rpl_calloc
123
extern void * calloc (size_t nmemb, size_t size);
125
#elif defined GNULIB_POSIXCHECK
127
# define calloc(n,s) \
128
(GL_LINK_WARNING ("calloc is not POSIX compliant everywhere - " \
129
"use gnulib module calloc-posix for portability"), \
134
98
#if @GNULIB_ATOLL@
136
99
/* Parse a signed decimal integer.
137
100
Returns the value of the integer. Errors are not detected. */
138
extern long long atoll (const char *string);
102
_GL_FUNCDECL_SYS (atoll, long long, (const char *string) _GL_ARG_NONNULL ((1)));
104
_GL_CXXALIAS_SYS (atoll, long long, (const char *string));
105
_GL_CXXALIASWARN (atoll);
140
106
#elif defined GNULIB_POSIXCHECK
143
(GL_LINK_WARNING ("atoll is unportable - " \
144
"use gnulib module atoll for portability"), \
108
# if HAVE_RAW_DECL_ATOLL
109
_GL_WARN_ON_USE (atoll, "atoll is unportable - "
110
"use gnulib module atoll for portability");
114
#if @GNULIB_CALLOC_POSIX@
115
# if !@HAVE_CALLOC_POSIX@
116
# if !(defined __cplusplus && defined GNULIB_NAMESPACE)
118
# define calloc rpl_calloc
120
_GL_FUNCDECL_RPL (calloc, void *, (size_t nmemb, size_t size));
121
_GL_CXXALIAS_RPL (calloc, void *, (size_t nmemb, size_t size));
123
_GL_CXXALIAS_SYS (calloc, void *, (size_t nmemb, size_t size));
125
_GL_CXXALIASWARN (calloc);
126
#elif defined GNULIB_POSIXCHECK
128
/* Assume calloc is always declared. */
129
_GL_WARN_ON_USE (calloc, "calloc is not POSIX compliant everywhere - "
130
"use gnulib module calloc-posix for portability");
133
#if @GNULIB_CANONICALIZE_FILE_NAME@
134
# if @REPLACE_CANONICALIZE_FILE_NAME@
135
# if !(defined __cplusplus && defined GNULIB_NAMESPACE)
136
# define canonicalize_file_name rpl_canonicalize_file_name
138
_GL_FUNCDECL_RPL (canonicalize_file_name, char *, (const char *name)
139
_GL_ARG_NONNULL ((1)));
140
_GL_CXXALIAS_RPL (canonicalize_file_name, char *, (const char *name));
142
# if !@HAVE_CANONICALIZE_FILE_NAME@
143
_GL_FUNCDECL_SYS (canonicalize_file_name, char *, (const char *name)
144
_GL_ARG_NONNULL ((1)));
146
_GL_CXXALIAS_SYS (canonicalize_file_name, char *, (const char *name));
148
_GL_CXXALIASWARN (canonicalize_file_name);
149
#elif defined GNULIB_POSIXCHECK
150
# undef canonicalize_file_name
151
# if HAVE_RAW_DECL_CANONICALIZE_FILE_NAME
152
_GL_WARN_ON_USE (canonicalize_file_name, "canonicalize_file_name is unportable - "
153
"use gnulib module canonicalize-lgpl for portability");
149
157
#if @GNULIB_GETLOADAVG@
150
# if !@HAVE_DECL_GETLOADAVG@
151
158
/* Store max(NELEM,3) load average numbers in LOADAVG[].
152
159
The three numbers are the load average of the last 1 minute, the last 5
153
160
minutes, and the last 15 minutes, respectively.
154
161
LOADAVG is an array of NELEM numbers. */
155
extern int getloadavg (double loadavg[], int nelem);
162
# if !@HAVE_DECL_GETLOADAVG@
163
_GL_FUNCDECL_SYS (getloadavg, int, (double loadavg[], int nelem)
164
_GL_ARG_NONNULL ((1)));
166
_GL_CXXALIAS_SYS (getloadavg, int, (double loadavg[], int nelem));
167
_GL_CXXALIASWARN (getloadavg);
157
168
#elif defined GNULIB_POSIXCHECK
158
169
# undef getloadavg
159
# define getloadavg(l,n) \
160
(GL_LINK_WARNING ("getloadavg is not portable - " \
161
"use gnulib module getloadavg for portability"), \
170
# if HAVE_RAW_DECL_GETLOADAVG
171
_GL_WARN_ON_USE (getloadavg, "getloadavg is not portable - "
172
"use gnulib module getloadavg for portability");
166
176
#if @GNULIB_GETSUBOPT@
167
177
/* Assuming *OPTIONP is a comma separated list of elements of the form
168
178
"token" or "token=value", getsubopt parses the first of these elements.
176
186
For more details see the POSIX:2001 specification.
177
187
http://www.opengroup.org/susv3xsh/getsubopt.html */
178
188
# if !@HAVE_GETSUBOPT@
179
extern int getsubopt (char **optionp, char *const *tokens, char **valuep);
189
_GL_FUNCDECL_SYS (getsubopt, int,
190
(char **optionp, char *const *tokens, char **valuep)
191
_GL_ARG_NONNULL ((1, 2, 3)));
193
_GL_CXXALIAS_SYS (getsubopt, int,
194
(char **optionp, char *const *tokens, char **valuep));
195
_GL_CXXALIASWARN (getsubopt);
181
196
#elif defined GNULIB_POSIXCHECK
182
197
# undef getsubopt
183
# define getsubopt(o,t,v) \
184
(GL_LINK_WARNING ("getsubopt is unportable - " \
185
"use gnulib module getsubopt for portability"), \
198
# if HAVE_RAW_DECL_GETSUBOPT
199
_GL_WARN_ON_USE (getsubopt, "getsubopt is unportable - "
200
"use gnulib module getsubopt for portability");
205
/* Change the ownership and access permission of the slave side of the
206
pseudo-terminal whose master side is specified by FD. */
208
_GL_FUNCDECL_SYS (grantpt, int, (int fd));
210
_GL_CXXALIAS_SYS (grantpt, int, (int fd));
211
_GL_CXXALIASWARN (grantpt);
212
#elif defined GNULIB_POSIXCHECK
214
# if HAVE_RAW_DECL_GRANTPT
215
_GL_WARN_ON_USE (ptsname, "grantpt is not portable - "
216
"use gnulib module grantpt for portability");
220
#if @GNULIB_MALLOC_POSIX@
221
# if !@HAVE_MALLOC_POSIX@
222
# if !(defined __cplusplus && defined GNULIB_NAMESPACE)
224
# define malloc rpl_malloc
226
_GL_FUNCDECL_RPL (malloc, void *, (size_t size));
227
_GL_CXXALIAS_RPL (malloc, void *, (size_t size));
229
_GL_CXXALIAS_SYS (malloc, void *, (size_t size));
231
_GL_CXXALIASWARN (malloc);
232
#elif defined GNULIB_POSIXCHECK
234
/* Assume malloc is always declared. */
235
_GL_WARN_ON_USE (malloc, "malloc is not POSIX compliant everywhere - "
236
"use gnulib module malloc-posix for portability");
190
239
#if @GNULIB_MKDTEMP@
192
240
/* Create a unique temporary directory from TEMPLATE.
193
241
The last six characters of TEMPLATE must be "XXXXXX";
194
242
they are replaced with a string that makes the directory name unique.
195
243
Returns TEMPLATE, or a null pointer if it cannot get a unique name.
196
244
The directory is created mode 700. */
197
extern char * mkdtemp (char * /*template*/);
246
_GL_FUNCDECL_SYS (mkdtemp, char *, (char * /*template*/) _GL_ARG_NONNULL ((1)));
248
_GL_CXXALIAS_SYS (mkdtemp, char *, (char * /*template*/));
249
_GL_CXXALIASWARN (mkdtemp);
199
250
#elif defined GNULIB_POSIXCHECK
201
# define mkdtemp(t) \
202
(GL_LINK_WARNING ("mkdtemp is unportable - " \
203
"use gnulib module mkdtemp for portability"), \
252
# if HAVE_RAW_DECL_MKDTEMP
253
_GL_WARN_ON_USE (mkdtemp, "mkdtemp is unportable - "
254
"use gnulib module mkdtemp for portability");
258
#if @GNULIB_MKOSTEMP@
259
/* Create a unique temporary file from TEMPLATE.
260
The last six characters of TEMPLATE must be "XXXXXX";
261
they are replaced with a string that makes the file name unique.
262
The flags are a bitmask, possibly including O_CLOEXEC (defined in <fcntl.h>)
263
and O_TEXT, O_BINARY (defined in "binary-io.h").
264
The file is then created, with the specified flags, ensuring it didn't exist
266
The file is created read-write (mask at least 0600 & ~umask), but it may be
267
world-readable and world-writable (mask 0666 & ~umask), depending on the
269
Returns the open file descriptor if successful, otherwise -1 and errno
271
# if !@HAVE_MKOSTEMP@
272
_GL_FUNCDECL_SYS (mkostemp, int, (char * /*template*/, int /*flags*/)
273
_GL_ARG_NONNULL ((1)));
275
_GL_CXXALIAS_SYS (mkostemp, int, (char * /*template*/, int /*flags*/));
276
_GL_CXXALIASWARN (mkostemp);
277
#elif defined GNULIB_POSIXCHECK
279
# if HAVE_RAW_DECL_MKOSTEMP
280
_GL_WARN_ON_USE (mkostemp, "mkostemp is unportable - "
281
"use gnulib module mkostemp for portability");
285
#if @GNULIB_MKOSTEMPS@
286
/* Create a unique temporary file from TEMPLATE.
287
The last six characters of TEMPLATE before a suffix of length
288
SUFFIXLEN must be "XXXXXX";
289
they are replaced with a string that makes the file name unique.
290
The flags are a bitmask, possibly including O_CLOEXEC (defined in <fcntl.h>)
291
and O_TEXT, O_BINARY (defined in "binary-io.h").
292
The file is then created, with the specified flags, ensuring it didn't exist
294
The file is created read-write (mask at least 0600 & ~umask), but it may be
295
world-readable and world-writable (mask 0666 & ~umask), depending on the
297
Returns the open file descriptor if successful, otherwise -1 and errno
299
# if !@HAVE_MKOSTEMPS@
300
_GL_FUNCDECL_SYS (mkostemps, int,
301
(char * /*template*/, int /*suffixlen*/, int /*flags*/)
302
_GL_ARG_NONNULL ((1)));
304
_GL_CXXALIAS_SYS (mkostemps, int,
305
(char * /*template*/, int /*suffixlen*/, int /*flags*/));
306
_GL_CXXALIASWARN (mkostemps);
307
#elif defined GNULIB_POSIXCHECK
309
# if HAVE_RAW_DECL_MKOSTEMPS
310
_GL_WARN_ON_USE (mkostemps, "mkostemps is unportable - "
311
"use gnulib module mkostemps for portability");
208
315
#if @GNULIB_MKSTEMP@
316
/* Create a unique temporary file from TEMPLATE.
317
The last six characters of TEMPLATE must be "XXXXXX";
318
they are replaced with a string that makes the file name unique.
319
The file is then created, ensuring it didn't exist before.
320
The file is created read-write (mask at least 0600 & ~umask), but it may be
321
world-readable and world-writable (mask 0666 & ~umask), depending on the
323
Returns the open file descriptor if successful, otherwise -1 and errno
209
325
# if @REPLACE_MKSTEMP@
210
/* Create a unique temporary file from TEMPLATE.
211
The last six characters of TEMPLATE must be "XXXXXX";
212
they are replaced with a string that makes the file name unique.
213
The file is then created, ensuring it didn't exist before.
214
The file is created read-write (mask at least 0600 & ~umask), but it may be
215
world-readable and world-writable (mask 0666 & ~umask), depending on the
217
Returns the open file descriptor if successful, otherwise -1 and errno
219
# define mkstemp rpl_mkstemp
220
extern int mkstemp (char * /*template*/);
326
# if !(defined __cplusplus && defined GNULIB_NAMESPACE)
327
# define mkstemp rpl_mkstemp
329
_GL_FUNCDECL_RPL (mkstemp, int, (char * /*template*/) _GL_ARG_NONNULL ((1)));
330
_GL_CXXALIAS_RPL (mkstemp, int, (char * /*template*/));
222
/* On MacOS X 10.3, only <unistd.h> declares mkstemp. */
332
# if ! @HAVE_MKSTEMP@
333
_GL_FUNCDECL_SYS (mkstemp, int, (char * /*template*/) _GL_ARG_NONNULL ((1)));
335
_GL_CXXALIAS_SYS (mkstemp, int, (char * /*template*/));
337
_GL_CXXALIASWARN (mkstemp);
225
338
#elif defined GNULIB_POSIXCHECK
227
# define mkstemp(t) \
228
(GL_LINK_WARNING ("mkstemp is unportable - " \
229
"use gnulib module mkstemp for portability"), \
340
# if HAVE_RAW_DECL_MKSTEMP
341
_GL_WARN_ON_USE (mkstemp, "mkstemp is unportable - "
342
"use gnulib module mkstemp for portability");
346
#if @GNULIB_MKSTEMPS@
347
/* Create a unique temporary file from TEMPLATE.
348
The last six characters of TEMPLATE prior to a suffix of length
349
SUFFIXLEN must be "XXXXXX";
350
they are replaced with a string that makes the file name unique.
351
The file is then created, ensuring it didn't exist before.
352
The file is created read-write (mask at least 0600 & ~umask), but it may be
353
world-readable and world-writable (mask 0666 & ~umask), depending on the
355
Returns the open file descriptor if successful, otherwise -1 and errno
357
# if !@HAVE_MKSTEMPS@
358
_GL_FUNCDECL_SYS (mkstemps, int, (char * /*template*/, int /*suffixlen*/)
359
_GL_ARG_NONNULL ((1)));
361
_GL_CXXALIAS_SYS (mkstemps, int, (char * /*template*/, int /*suffixlen*/));
362
_GL_CXXALIASWARN (mkstemps);
363
#elif defined GNULIB_POSIXCHECK
365
# if HAVE_RAW_DECL_MKSTEMPS
366
_GL_WARN_ON_USE (mkstemps, "mkstemps is unportable - "
367
"use gnulib module mkstemps for portability");
372
/* Return the pathname of the pseudo-terminal slave associated with
373
the master FD is open on, or NULL on errors. */
375
_GL_FUNCDECL_SYS (ptsname, char *, (int fd));
377
_GL_CXXALIAS_SYS (ptsname, char *, (int fd));
378
_GL_CXXALIASWARN (ptsname);
379
#elif defined GNULIB_POSIXCHECK
381
# if HAVE_RAW_DECL_PTSNAME
382
_GL_WARN_ON_USE (ptsname, "ptsname is not portable - "
383
"use gnulib module ptsname for portability");
234
387
#if @GNULIB_PUTENV@
235
388
# if @REPLACE_PUTENV@
237
# define putenv rpl_putenv
238
extern int putenv (char *string);
389
# if !(defined __cplusplus && defined GNULIB_NAMESPACE)
391
# define putenv rpl_putenv
393
_GL_FUNCDECL_RPL (putenv, int, (char *string) _GL_ARG_NONNULL ((1)));
394
_GL_CXXALIAS_RPL (putenv, int, (char *string));
396
_GL_CXXALIAS_SYS (putenv, int, (char *string));
398
_GL_CXXALIASWARN (putenv);
243
402
#if @GNULIB_RANDOM_R@
244
403
# if !@HAVE_RANDOM_R@
246
404
# ifndef RAND_MAX
247
405
# define RAND_MAX 2147483647
250
int srandom_r (unsigned int seed, struct random_data *rand_state);
251
int initstate_r (unsigned int seed, char *buf, size_t buf_size,
252
struct random_data *rand_state);
253
int setstate_r (char *arg_state, struct random_data *rand_state);
254
int random_r (struct random_data *buf, int32_t *result);
410
#if @GNULIB_RANDOM_R@
411
# if !@HAVE_RANDOM_R@
412
_GL_FUNCDECL_SYS (random_r, int, (struct random_data *buf, int32_t *result)
413
_GL_ARG_NONNULL ((1, 2)));
415
_GL_CXXALIAS_SYS (random_r, int, (struct random_data *buf, int32_t *result));
416
_GL_CXXALIASWARN (random_r);
256
417
#elif defined GNULIB_POSIXCHECK
258
# define random_r(b,r) \
259
(GL_LINK_WARNING ("random_r is unportable - " \
260
"use gnulib module random_r for portability"), \
419
# if HAVE_RAW_DECL_RANDOM_R
420
_GL_WARN_ON_USE (random_r, "random_r is unportable - "
421
"use gnulib module random_r for portability");
425
#if @GNULIB_RANDOM_R@
426
# if !@HAVE_RANDOM_R@
427
_GL_FUNCDECL_SYS (srandom_r, int,
428
(unsigned int seed, struct random_data *rand_state)
429
_GL_ARG_NONNULL ((2)));
431
_GL_CXXALIAS_SYS (srandom_r, int,
432
(unsigned int seed, struct random_data *rand_state));
433
_GL_CXXALIASWARN (srandom_r);
434
#elif defined GNULIB_POSIXCHECK
436
# if HAVE_RAW_DECL_SRANDOM_R
437
_GL_WARN_ON_USE (srandom_r, "srandom_r is unportable - "
438
"use gnulib module random_r for portability");
442
#if @GNULIB_RANDOM_R@
443
# if !@HAVE_RANDOM_R@
444
_GL_FUNCDECL_SYS (initstate_r, int,
445
(unsigned int seed, char *buf, size_t buf_size,
446
struct random_data *rand_state)
447
_GL_ARG_NONNULL ((2, 4)));
449
_GL_CXXALIAS_SYS (initstate_r, int,
450
(unsigned int seed, char *buf, size_t buf_size,
451
struct random_data *rand_state));
452
_GL_CXXALIASWARN (initstate_r);
453
#elif defined GNULIB_POSIXCHECK
262
454
# undef initstate_r
263
# define initstate_r(s,b,sz,r) \
264
(GL_LINK_WARNING ("initstate_r is unportable - " \
265
"use gnulib module random_r for portability"), \
266
initstate_r (s,b,sz,r))
268
# define srandom_r(s,r) \
269
(GL_LINK_WARNING ("srandom_r is unportable - " \
270
"use gnulib module random_r for portability"), \
455
# if HAVE_RAW_DECL_INITSTATE_R
456
_GL_WARN_ON_USE (initstate_r, "initstate_r is unportable - "
457
"use gnulib module random_r for portability");
461
#if @GNULIB_RANDOM_R@
462
# if !@HAVE_RANDOM_R@
463
_GL_FUNCDECL_SYS (setstate_r, int,
464
(char *arg_state, struct random_data *rand_state)
465
_GL_ARG_NONNULL ((1, 2)));
467
_GL_CXXALIAS_SYS (setstate_r, int,
468
(char *arg_state, struct random_data *rand_state));
469
_GL_CXXALIASWARN (setstate_r);
470
#elif defined GNULIB_POSIXCHECK
272
471
# undef setstate_r
273
# define setstate_r(a,r) \
274
(GL_LINK_WARNING ("setstate_r is unportable - " \
275
"use gnulib module random_r for portability"), \
472
# if HAVE_RAW_DECL_SETSTATE_R
473
_GL_WARN_ON_USE (setstate_r, "setstate_r is unportable - "
474
"use gnulib module random_r for portability");
479
#if @GNULIB_REALLOC_POSIX@
480
# if !@HAVE_REALLOC_POSIX@
481
# if !(defined __cplusplus && defined GNULIB_NAMESPACE)
483
# define realloc rpl_realloc
485
_GL_FUNCDECL_RPL (realloc, void *, (void *ptr, size_t size));
486
_GL_CXXALIAS_RPL (realloc, void *, (void *ptr, size_t size));
488
_GL_CXXALIAS_SYS (realloc, void *, (void *ptr, size_t size));
490
_GL_CXXALIASWARN (realloc);
491
#elif defined GNULIB_POSIXCHECK
493
/* Assume realloc is always declared. */
494
_GL_WARN_ON_USE (realloc, "realloc is not POSIX compliant everywhere - "
495
"use gnulib module realloc-posix for portability");
498
#if @GNULIB_REALPATH@
499
# if @REPLACE_REALPATH@
500
# if !(defined __cplusplus && defined GNULIB_NAMESPACE)
501
# define realpath rpl_realpath
503
_GL_FUNCDECL_RPL (realpath, char *, (const char *name, char *resolved)
504
_GL_ARG_NONNULL ((1)));
505
_GL_CXXALIAS_RPL (realpath, char *, (const char *name, char *resolved));
507
# if !@HAVE_REALPATH@
508
_GL_FUNCDECL_SYS (realpath, char *, (const char *name, char *resolved)
509
_GL_ARG_NONNULL ((1)));
511
_GL_CXXALIAS_SYS (realpath, char *, (const char *name, char *resolved));
513
_GL_CXXALIASWARN (realpath);
514
#elif defined GNULIB_POSIXCHECK
516
# if HAVE_RAW_DECL_REALPATH
517
_GL_WARN_ON_USE (realpath, "realpath is unportable - use gnulib module "
518
"canonicalize or canonicalize-lgpl for portability");
280
522
#if @GNULIB_RPMATCH@
282
523
/* Test a user response to a question.
283
524
Return 1 if it is affirmative, 0 if it is negative, or -1 if not clear. */
284
extern int rpmatch (const char *response);
526
_GL_FUNCDECL_SYS (rpmatch, int, (const char *response) _GL_ARG_NONNULL ((1)));
528
_GL_CXXALIAS_SYS (rpmatch, int, (const char *response));
529
_GL_CXXALIASWARN (rpmatch);
286
530
#elif defined GNULIB_POSIXCHECK
288
# define rpmatch(r) \
289
(GL_LINK_WARNING ("rpmatch is unportable - " \
290
"use gnulib module rpmatch for portability"), \
532
# if HAVE_RAW_DECL_RPMATCH
533
_GL_WARN_ON_USE (rpmatch, "rpmatch is unportable - "
534
"use gnulib module rpmatch for portability");
295
538
#if @GNULIB_SETENV@
297
539
/* Set NAME to VALUE in the environment.
298
540
If REPLACE is nonzero, overwrite an existing value. */
299
extern int setenv (const char *name, const char *value, int replace);
304
#if @GNULIB_UNSETENV@
307
/* On some systems, unsetenv() returns void.
308
This is the case for MacOS X 10.3, FreeBSD 4.8, NetBSD 1.6, OpenBSD 3.4. */
309
# define unsetenv(name) ((unsetenv)(name), 0)
541
# if @REPLACE_SETENV@
542
# if !(defined __cplusplus && defined GNULIB_NAMESPACE)
544
# define setenv rpl_setenv
546
_GL_FUNCDECL_RPL (setenv, int,
547
(const char *name, const char *value, int replace)
548
_GL_ARG_NONNULL ((1)));
549
_GL_CXXALIAS_RPL (setenv, int,
550
(const char *name, const char *value, int replace));
312
/* Remove the variable NAME from the environment. */
313
extern int unsetenv (const char *name);
553
_GL_FUNCDECL_SYS (setenv, int,
554
(const char *name, const char *value, int replace)
555
_GL_ARG_NONNULL ((1)));
557
_GL_CXXALIAS_SYS (setenv, int,
558
(const char *name, const char *value, int replace));
560
_GL_CXXALIASWARN (setenv);
561
#elif defined GNULIB_POSIXCHECK
563
# if HAVE_RAW_DECL_SETENV
564
_GL_WARN_ON_USE (setenv, "setenv is unportable - "
565
"use gnulib module setenv for portability");
318
569
#if @GNULIB_STRTOD@
570
/* Parse a double from STRING, updating ENDP if appropriate. */
319
571
# if @REPLACE_STRTOD@
320
# define strtod rpl_strtod
322
# if !@HAVE_STRTOD@ || @REPLACE_STRTOD@
323
/* Parse a double from STRING, updating ENDP if appropriate. */
324
extern double strtod (const char *str, char **endp);
572
# if !(defined __cplusplus && defined GNULIB_NAMESPACE)
573
# define strtod rpl_strtod
575
_GL_FUNCDECL_RPL (strtod, double, (const char *str, char **endp)
576
_GL_ARG_NONNULL ((1)));
577
_GL_CXXALIAS_RPL (strtod, double, (const char *str, char **endp));
580
_GL_FUNCDECL_SYS (strtod, double, (const char *str, char **endp)
581
_GL_ARG_NONNULL ((1)));
583
_GL_CXXALIAS_SYS (strtod, double, (const char *str, char **endp));
585
_GL_CXXALIASWARN (strtod);
326
586
#elif defined GNULIB_POSIXCHECK
328
# define strtod(s, e) \
329
(GL_LINK_WARNING ("strtod is unportable - " \
330
"use gnulib module strtod for portability"), \
588
# if HAVE_RAW_DECL_STRTOD
589
_GL_WARN_ON_USE (strtod, "strtod is unportable - "
590
"use gnulib module strtod for portability");
335
594
#if @GNULIB_STRTOLL@
337
595
/* Parse a signed integer whose textual representation starts at STRING.
338
596
The integer is expected to be in base BASE (2 <= BASE <= 36); if BASE == 0,
339
597
it may be decimal or octal (with prefix "0") or hexadecimal (with prefix