The R Project SVN R

Rev

Rev 85652 | Rev 89724 | Go to most recent revision | Show entire file | Ignore whitespace | Details | Blame | Last modification | View Log | RSS feed

Rev 85652 Rev 87075
Line 1... Line 1...
1
/*
1
/*
2
 *  R : A Computer Language for Statistical Data Analysis
2
 *  R : A Computer Language for Statistical Data Analysis
3
 *  Copyright (C) 1995, 1996  Robert Gentleman and Ross Ihaka
3
 *  Copyright (C) 1995, 1996  Robert Gentleman and Ross Ihaka
4
 *  Copyright (C) 1998--2022  The R Core Team.
4
 *  Copyright (C) 1998--2024  The R Core Team.
5
 *
5
 *
6
 *  This program is free software; you can redistribute it and/or modify
6
 *  This program is free software; you can redistribute it and/or modify
7
 *  it under the terms of the GNU General Public License as published by
7
 *  it under the terms of the GNU General Public License as published by
8
 *  the Free Software Foundation; either version 2 of the License, or
8
 *  the Free Software Foundation; either version 2 of the License, or
9
 *  (at your option) any later version.
9
 *  (at your option) any later version.
Line 31... Line 31...
31
*/
31
*/
32
 
32
 
33
#ifndef RINTERFACE_H_
33
#ifndef RINTERFACE_H_
34
#define RINTERFACE_H_
34
#define RINTERFACE_H_
35
 
35
 
-
 
36
#ifdef CSTACK_DEFNS
-
 
37
/* duplicating older Defn.h.
-
 
38
   Note: this is never used when including Rinterface.h from R itself
-
 
39
*/
-
 
40
# if !defined(HAVE_UINTPTR_T) && !defined(uintptr_t)
-
 
41
 typedef unsigned long uintptr_t;
-
 
42
# else
-
 
43
#  ifndef __cplusplus
36
#include <R_ext/Boolean.h>
44
#   include <stdint.h>
-
 
45
#  elif __cplusplus >= 201103L
-
 
46
#   include <cstdint>
-
 
47
#  endif
-
 
48
# endif
-
 
49
#endif
37
 
50
 
38
#ifdef __cplusplus
51
#ifdef __cplusplus
39
/* we do not support DO_NOT_USE_CXX_HEADERS in this file */
52
/* we do not support DO_NOT_USE_CXX_HEADERS in this file */
40
# include <cstdio>
53
# include <cstdio>
41
extern "C" {
-
 
42
#else
54
#else
43
# include <stdio.h>
55
# include <stdio.h>
44
#endif
56
#endif
45
 
57
 
-
 
58
#include <R_ext/Boolean.h>
-
 
59
 
-
 
60
#ifdef R_INTERFACE_PTRS
-
 
61
# include <Rinternals.h> // for SEXP
-
 
62
# include <R_ext/RStartup.h> // for SA_TYPE
-
 
63
#endif
-
 
64
 
-
 
65
#ifdef __cplusplus
-
 
66
extern "C" {
-
 
67
#endif
-
 
68
 
46
// See R_ext/Error.h
69
// See R_ext/Error.h
47
#if defined NORET
70
#if defined NORET
48
#elif (defined(__STDC_VERSION__) && __STDC_VERSION__ >= 202301L)
71
#elif (defined(__STDC_VERSION__) && __STDC_VERSION__ >= 202301L)
49
# define NORET [[noreturn]]
72
# define NORET [[noreturn]]
50
#elif defined(__STDC_VERSION__) && __STDC_VERSION__ >= 201102L
73
#elif defined(__STDC_VERSION__) && __STDC_VERSION__ >= 201102L
Line 110... Line 133...
110
 
133
 
111
#ifdef CSTACK_DEFNS
134
#ifdef CSTACK_DEFNS
112
/* duplicating older Defn.h.
135
/* duplicating older Defn.h.
113
   Note: this is never used when including Rinterface.h from R itself
136
   Note: this is never used when including Rinterface.h from R itself
114
*/
137
*/
115
#if !defined(HAVE_UINTPTR_T) && !defined(uintptr_t)
-
 
116
 typedef unsigned long uintptr_t;
-
 
117
#else
-
 
118
# ifndef __cplusplus
-
 
119
#  include <stdint.h>
-
 
120
# elif __cplusplus >= 201103L
-
 
121
#  include <cstdint>
-
 
122
# endif
-
 
123
#endif
-
 
124
 
138
 
125
extern uintptr_t R_CStackLimit;	/* C stack limit */
139
extern uintptr_t R_CStackLimit;	/* C stack limit */
126
extern uintptr_t R_CStackStart;	/* Initial stack address */
140
extern uintptr_t R_CStackStart;	/* Initial stack address */
127
#endif
141
#endif
128
 
142
 
129
/* formerly in src/unix/devUI.h */
143
/* formerly in src/unix/devUI.h */
130
 
144
 
131
#ifdef R_INTERFACE_PTRS
145
#ifdef R_INTERFACE_PTRS
132
#include <Rinternals.h> // for SEXP
-
 
133
#include <R_ext/RStartup.h> // for SA_TYPE
-
 
134
 
146
 
135
#ifdef __SYSTEM__
147
#ifdef __SYSTEM__
136
# define extern
148
# define extern
137
#endif
149
#endif
138
 
150