Mercurial > octave
annotate oct-conf-post.in.h @ 24538:2b273df71aa0
allow experimenting with thread_local storage
* mk-octave-config-h.sh, oct-conf-post.in.h:
Define OCTAVE_THREAD_LOCAL.
* interpreter.h, interpreter.cc (interpreter::instance):
Tag with OCTAVE_THREAD_LOCAL. Note that error message should be
changed when a thread_local interpreter object is really possible.
author | John W. Eaton <jwe@octave.org> |
---|---|
date | Sat, 06 Jan 2018 12:23:14 -0500 |
parents | 194eb4bd202b |
children | 6652d3823428 |
rev | line source |
---|---|
20436
bf47ac616bc0
Backout 9c7dd58b57e4 and have configure generate oct-conf-post.h
Rik <rik@octave.org>
parents:
diff
changeset
|
1 /* |
bf47ac616bc0
Backout 9c7dd58b57e4 and have configure generate oct-conf-post.h
Rik <rik@octave.org>
parents:
diff
changeset
|
2 |
23219
3ac9f9ecfae5
maint: Update copyright dates.
John W. Eaton <jwe@octave.org>
parents:
22549
diff
changeset
|
3 Copyright (C) 1993-2017 John W. Eaton |
20436
bf47ac616bc0
Backout 9c7dd58b57e4 and have configure generate oct-conf-post.h
Rik <rik@octave.org>
parents:
diff
changeset
|
4 |
bf47ac616bc0
Backout 9c7dd58b57e4 and have configure generate oct-conf-post.h
Rik <rik@octave.org>
parents:
diff
changeset
|
5 This file is part of Octave. |
bf47ac616bc0
Backout 9c7dd58b57e4 and have configure generate oct-conf-post.h
Rik <rik@octave.org>
parents:
diff
changeset
|
6 |
24534
194eb4bd202b
maint: Update punctuation for GPL v3 license text.
Rik <rik@octave.org>
parents:
23826
diff
changeset
|
7 Octave is free software: you can redistribute it and/or modify it |
22755
3a2b891d0b33
maint: Standardize Copyright formatting.
Rik <rik@octave.org>
parents:
22549
diff
changeset
|
8 under the terms of the GNU General Public License as published by |
24534
194eb4bd202b
maint: Update punctuation for GPL v3 license text.
Rik <rik@octave.org>
parents:
23826
diff
changeset
|
9 the Free Software Foundation, either version 3 of the License, or |
22755
3a2b891d0b33
maint: Standardize Copyright formatting.
Rik <rik@octave.org>
parents:
22549
diff
changeset
|
10 (at your option) any later version. |
20436
bf47ac616bc0
Backout 9c7dd58b57e4 and have configure generate oct-conf-post.h
Rik <rik@octave.org>
parents:
diff
changeset
|
11 |
22755
3a2b891d0b33
maint: Standardize Copyright formatting.
Rik <rik@octave.org>
parents:
22549
diff
changeset
|
12 Octave is distributed in the hope that it will be useful, but |
3a2b891d0b33
maint: Standardize Copyright formatting.
Rik <rik@octave.org>
parents:
22549
diff
changeset
|
13 WITHOUT ANY WARRANTY; without even the implied warranty of |
3a2b891d0b33
maint: Standardize Copyright formatting.
Rik <rik@octave.org>
parents:
22549
diff
changeset
|
14 MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the |
3a2b891d0b33
maint: Standardize Copyright formatting.
Rik <rik@octave.org>
parents:
22549
diff
changeset
|
15 GNU General Public License for more details. |
20436
bf47ac616bc0
Backout 9c7dd58b57e4 and have configure generate oct-conf-post.h
Rik <rik@octave.org>
parents:
diff
changeset
|
16 |
bf47ac616bc0
Backout 9c7dd58b57e4 and have configure generate oct-conf-post.h
Rik <rik@octave.org>
parents:
diff
changeset
|
17 You should have received a copy of the GNU General Public License |
bf47ac616bc0
Backout 9c7dd58b57e4 and have configure generate oct-conf-post.h
Rik <rik@octave.org>
parents:
diff
changeset
|
18 along with Octave; see the file COPYING. If not, see |
24534
194eb4bd202b
maint: Update punctuation for GPL v3 license text.
Rik <rik@octave.org>
parents:
23826
diff
changeset
|
19 <https://www.gnu.org/licenses/>. |
20436
bf47ac616bc0
Backout 9c7dd58b57e4 and have configure generate oct-conf-post.h
Rik <rik@octave.org>
parents:
diff
changeset
|
20 |
bf47ac616bc0
Backout 9c7dd58b57e4 and have configure generate oct-conf-post.h
Rik <rik@octave.org>
parents:
diff
changeset
|
21 */ |
bf47ac616bc0
Backout 9c7dd58b57e4 and have configure generate oct-conf-post.h
Rik <rik@octave.org>
parents:
diff
changeset
|
22 |
21189
47765afaf131
style fixes for oct-conf-post.in.h
John W. Eaton <jwe@octave.org>
parents:
21188
diff
changeset
|
23 /* The C++ standard is evolving to allow attribute hints in a |
47765afaf131
style fixes for oct-conf-post.in.h
John W. Eaton <jwe@octave.org>
parents:
21188
diff
changeset
|
24 compiler-independent manner. In C++ 2011 support for noreturn was |
47765afaf131
style fixes for oct-conf-post.in.h
John W. Eaton <jwe@octave.org>
parents:
21188
diff
changeset
|
25 added. In C++ 2014 support for deprecated was added. The Octave |
47765afaf131
style fixes for oct-conf-post.in.h
John W. Eaton <jwe@octave.org>
parents:
21188
diff
changeset
|
26 code base has been future-proofed by using macros of the form |
47765afaf131
style fixes for oct-conf-post.in.h
John W. Eaton <jwe@octave.org>
parents:
21188
diff
changeset
|
27 OCTAVE_ATTRIBUTE_NAME in place of vendor specific attribute |
47765afaf131
style fixes for oct-conf-post.in.h
John W. Eaton <jwe@octave.org>
parents:
21188
diff
changeset
|
28 mechanisms. As compilers evolve, the underlying implementation can |
47765afaf131
style fixes for oct-conf-post.in.h
John W. Eaton <jwe@octave.org>
parents:
21188
diff
changeset
|
29 be changed with the macro definitions below. FIXME: Update macros |
47765afaf131
style fixes for oct-conf-post.in.h
John W. Eaton <jwe@octave.org>
parents:
21188
diff
changeset
|
30 to use C++ standard attribute syntax when Octave moves to C++ 2011 |
47765afaf131
style fixes for oct-conf-post.in.h
John W. Eaton <jwe@octave.org>
parents:
21188
diff
changeset
|
31 standard. */ |
20436
bf47ac616bc0
Backout 9c7dd58b57e4 and have configure generate oct-conf-post.h
Rik <rik@octave.org>
parents:
diff
changeset
|
32 |
21040
3e7cfee5f786
maint: Rename attributes GCC_ATTR_XXX to OCTAVE_XXX.
Rik <rik@octave.org>
parents:
20436
diff
changeset
|
33 #if defined (__GNUC__) |
21189
47765afaf131
style fixes for oct-conf-post.in.h
John W. Eaton <jwe@octave.org>
parents:
21188
diff
changeset
|
34 /* The following attributes are used with gcc and clang compilers. */ |
21325
64be7d374f86
Make OCTAVE_DEPRECATED macro compatible with older gcc
Mike Miller <mtmiller@octave.org>
parents:
21240
diff
changeset
|
35 # if __GNUC__ > 4 || (__GNUC__ == 4 && __GNUC_MINOR__ >= 5) |
23615
be7b884ac589
use version number in OCTAVE_DEPRECATED macro
John W. Eaton <jwe@octave.org>
parents:
23220
diff
changeset
|
36 # define OCTAVE_DEPRECATED(ver, msg) __attribute__ ((__deprecated__ ("[" #ver "]: " msg))) |
21325
64be7d374f86
Make OCTAVE_DEPRECATED macro compatible with older gcc
Mike Miller <mtmiller@octave.org>
parents:
21240
diff
changeset
|
37 # else |
23615
be7b884ac589
use version number in OCTAVE_DEPRECATED macro
John W. Eaton <jwe@octave.org>
parents:
23220
diff
changeset
|
38 # define OCTAVE_DEPRECATED(ver, msg) __attribute__ ((__deprecated__)) |
21325
64be7d374f86
Make OCTAVE_DEPRECATED macro compatible with older gcc
Mike Miller <mtmiller@octave.org>
parents:
21240
diff
changeset
|
39 # endif |
21229
a83e7a384ee0
create and install a subset of config.h in octave-config.h
John W. Eaton <jwe@octave.org>
parents:
21228
diff
changeset
|
40 # define HAVE_OCTAVE_DEPRECATED_ATTR 1 |
21040
3e7cfee5f786
maint: Rename attributes GCC_ATTR_XXX to OCTAVE_XXX.
Rik <rik@octave.org>
parents:
20436
diff
changeset
|
41 |
21189
47765afaf131
style fixes for oct-conf-post.in.h
John W. Eaton <jwe@octave.org>
parents:
21188
diff
changeset
|
42 # define OCTAVE_NORETURN __attribute__ ((__noreturn__)) |
21229
a83e7a384ee0
create and install a subset of config.h in octave-config.h
John W. Eaton <jwe@octave.org>
parents:
21228
diff
changeset
|
43 # define HAVE_OCTAVE_NORETURN_ATTR 1 |
21040
3e7cfee5f786
maint: Rename attributes GCC_ATTR_XXX to OCTAVE_XXX.
Rik <rik@octave.org>
parents:
20436
diff
changeset
|
44 |
21189
47765afaf131
style fixes for oct-conf-post.in.h
John W. Eaton <jwe@octave.org>
parents:
21188
diff
changeset
|
45 # define OCTAVE_UNUSED __attribute__ ((__unused__)) |
21229
a83e7a384ee0
create and install a subset of config.h in octave-config.h
John W. Eaton <jwe@octave.org>
parents:
21228
diff
changeset
|
46 # define HAVE_OCTAVE_UNUSED_ATTR 1 |
20436
bf47ac616bc0
Backout 9c7dd58b57e4 and have configure generate oct-conf-post.h
Rik <rik@octave.org>
parents:
diff
changeset
|
47 #else |
23615
be7b884ac589
use version number in OCTAVE_DEPRECATED macro
John W. Eaton <jwe@octave.org>
parents:
23220
diff
changeset
|
48 # define OCTAVE_DEPRECATED(ver, msg) |
21189
47765afaf131
style fixes for oct-conf-post.in.h
John W. Eaton <jwe@octave.org>
parents:
21188
diff
changeset
|
49 # define OCTAVE_NORETURN |
47765afaf131
style fixes for oct-conf-post.in.h
John W. Eaton <jwe@octave.org>
parents:
21188
diff
changeset
|
50 # define OCTAVE_UNUSED |
20436
bf47ac616bc0
Backout 9c7dd58b57e4 and have configure generate oct-conf-post.h
Rik <rik@octave.org>
parents:
diff
changeset
|
51 #endif |
bf47ac616bc0
Backout 9c7dd58b57e4 and have configure generate oct-conf-post.h
Rik <rik@octave.org>
parents:
diff
changeset
|
52 |
23826
d69021d58a61
avoid fallthrough warnings
John W. Eaton <jwe@octave.org>
parents:
23696
diff
changeset
|
53 #if ! defined (OCTAVE_FALLTHROUGH) |
d69021d58a61
avoid fallthrough warnings
John W. Eaton <jwe@octave.org>
parents:
23696
diff
changeset
|
54 # if defined (__cplusplus) && __cplusplus > 201402L |
d69021d58a61
avoid fallthrough warnings
John W. Eaton <jwe@octave.org>
parents:
23696
diff
changeset
|
55 # define OCTAVE_FALLTHROUGH [[fallthrough]] |
d69021d58a61
avoid fallthrough warnings
John W. Eaton <jwe@octave.org>
parents:
23696
diff
changeset
|
56 # elif defined (__GNUC__) && __GNUC__ < 7 |
d69021d58a61
avoid fallthrough warnings
John W. Eaton <jwe@octave.org>
parents:
23696
diff
changeset
|
57 # define OCTAVE_FALLTHROUGH ((void) 0) |
d69021d58a61
avoid fallthrough warnings
John W. Eaton <jwe@octave.org>
parents:
23696
diff
changeset
|
58 # else |
d69021d58a61
avoid fallthrough warnings
John W. Eaton <jwe@octave.org>
parents:
23696
diff
changeset
|
59 # define OCTAVE_FALLTHROUGH __attribute__ ((__fallthrough__)) |
d69021d58a61
avoid fallthrough warnings
John W. Eaton <jwe@octave.org>
parents:
23696
diff
changeset
|
60 # endif |
d69021d58a61
avoid fallthrough warnings
John W. Eaton <jwe@octave.org>
parents:
23696
diff
changeset
|
61 #endif |
d69021d58a61
avoid fallthrough warnings
John W. Eaton <jwe@octave.org>
parents:
23696
diff
changeset
|
62 |
23696
08036a7f3660
remove octave:: namespace tag from symbols used inside octave namespace
John W. Eaton <jwe@octave.org>
parents:
23615
diff
changeset
|
63 /* This macro could have a better name... It is intended to be used |
08036a7f3660
remove octave:: namespace tag from symbols used inside octave namespace
John W. Eaton <jwe@octave.org>
parents:
23615
diff
changeset
|
64 only to enable inline functions or typedefs that provide access to |
08036a7f3660
remove octave:: namespace tag from symbols used inside octave namespace
John W. Eaton <jwe@octave.org>
parents:
23615
diff
changeset
|
65 symbols that have been moved to the octave namespace. It may be |
08036a7f3660
remove octave:: namespace tag from symbols used inside octave namespace
John W. Eaton <jwe@octave.org>
parents:
23615
diff
changeset
|
66 temporarily useful to define this macro when moving a symbol to the |
08036a7f3660
remove octave:: namespace tag from symbols used inside octave namespace
John W. Eaton <jwe@octave.org>
parents:
23615
diff
changeset
|
67 octave namespace but it should not be defined when building |
08036a7f3660
remove octave:: namespace tag from symbols used inside octave namespace
John W. Eaton <jwe@octave.org>
parents:
23615
diff
changeset
|
68 released versions of Octave, as building those should not require |
08036a7f3660
remove octave:: namespace tag from symbols used inside octave namespace
John W. Eaton <jwe@octave.org>
parents:
23615
diff
changeset
|
69 deprecated symbols. It is defined in octave-config.h, so users of |
08036a7f3660
remove octave:: namespace tag from symbols used inside octave namespace
John W. Eaton <jwe@octave.org>
parents:
23615
diff
changeset
|
70 Octave may continue to access symbols using the deprecated names. */ |
08036a7f3660
remove octave:: namespace tag from symbols used inside octave namespace
John W. Eaton <jwe@octave.org>
parents:
23615
diff
changeset
|
71 /* #undef OCTAVE_USE_DEPRECATED_FUNCTIONS */ |
21726
f05a00e611ff
use namespace for glob and fnmatch wrapper functions
John W. Eaton <jwe@octave.org>
parents:
21691
diff
changeset
|
72 |
21691
263d18409fdf
Eliminate unused variable warnings for conditionally compiled code.
John W. Eaton <jwe@octave.org>
parents:
21325
diff
changeset
|
73 #if defined (__cplusplus) |
263d18409fdf
Eliminate unused variable warnings for conditionally compiled code.
John W. Eaton <jwe@octave.org>
parents:
21325
diff
changeset
|
74 template <typename T> |
263d18409fdf
Eliminate unused variable warnings for conditionally compiled code.
John W. Eaton <jwe@octave.org>
parents:
21325
diff
changeset
|
75 static inline void |
263d18409fdf
Eliminate unused variable warnings for conditionally compiled code.
John W. Eaton <jwe@octave.org>
parents:
21325
diff
changeset
|
76 octave_unused_parameter (const T&) |
263d18409fdf
Eliminate unused variable warnings for conditionally compiled code.
John W. Eaton <jwe@octave.org>
parents:
21325
diff
changeset
|
77 { } |
263d18409fdf
Eliminate unused variable warnings for conditionally compiled code.
John W. Eaton <jwe@octave.org>
parents:
21325
diff
changeset
|
78 #else |
263d18409fdf
Eliminate unused variable warnings for conditionally compiled code.
John W. Eaton <jwe@octave.org>
parents:
21325
diff
changeset
|
79 # define octave_unused_parameter(param) (void) param; |
263d18409fdf
Eliminate unused variable warnings for conditionally compiled code.
John W. Eaton <jwe@octave.org>
parents:
21325
diff
changeset
|
80 #endif |
263d18409fdf
Eliminate unused variable warnings for conditionally compiled code.
John W. Eaton <jwe@octave.org>
parents:
21325
diff
changeset
|
81 |
20436
bf47ac616bc0
Backout 9c7dd58b57e4 and have configure generate oct-conf-post.h
Rik <rik@octave.org>
parents:
diff
changeset
|
82 #if ! defined (HAVE_DEV_T) |
bf47ac616bc0
Backout 9c7dd58b57e4 and have configure generate oct-conf-post.h
Rik <rik@octave.org>
parents:
diff
changeset
|
83 typedef short dev_t; |
bf47ac616bc0
Backout 9c7dd58b57e4 and have configure generate oct-conf-post.h
Rik <rik@octave.org>
parents:
diff
changeset
|
84 #endif |
bf47ac616bc0
Backout 9c7dd58b57e4 and have configure generate oct-conf-post.h
Rik <rik@octave.org>
parents:
diff
changeset
|
85 |
bf47ac616bc0
Backout 9c7dd58b57e4 and have configure generate oct-conf-post.h
Rik <rik@octave.org>
parents:
diff
changeset
|
86 #if ! defined (HAVE_INO_T) |
bf47ac616bc0
Backout 9c7dd58b57e4 and have configure generate oct-conf-post.h
Rik <rik@octave.org>
parents:
diff
changeset
|
87 typedef unsigned long ino_t; |
bf47ac616bc0
Backout 9c7dd58b57e4 and have configure generate oct-conf-post.h
Rik <rik@octave.org>
parents:
diff
changeset
|
88 #endif |
bf47ac616bc0
Backout 9c7dd58b57e4 and have configure generate oct-conf-post.h
Rik <rik@octave.org>
parents:
diff
changeset
|
89 |
bf47ac616bc0
Backout 9c7dd58b57e4 and have configure generate oct-conf-post.h
Rik <rik@octave.org>
parents:
diff
changeset
|
90 #if defined (_MSC_VER) |
21213
f7d1050b9b53
maint: Clean up various usages of #ifdef.
Rik <rik@octave.org>
parents:
21189
diff
changeset
|
91 # define __WIN32__ 1 |
f7d1050b9b53
maint: Clean up various usages of #ifdef.
Rik <rik@octave.org>
parents:
21189
diff
changeset
|
92 # define WIN32 1 |
21189
47765afaf131
style fixes for oct-conf-post.in.h
John W. Eaton <jwe@octave.org>
parents:
21188
diff
changeset
|
93 /* missing parameters in macros */ |
47765afaf131
style fixes for oct-conf-post.in.h
John W. Eaton <jwe@octave.org>
parents:
21188
diff
changeset
|
94 # pragma warning (disable: 4003) |
47765afaf131
style fixes for oct-conf-post.in.h
John W. Eaton <jwe@octave.org>
parents:
21188
diff
changeset
|
95 /* missing implementations in template instantiation */ |
47765afaf131
style fixes for oct-conf-post.in.h
John W. Eaton <jwe@octave.org>
parents:
21188
diff
changeset
|
96 # pragma warning (disable: 4996) |
47765afaf131
style fixes for oct-conf-post.in.h
John W. Eaton <jwe@octave.org>
parents:
21188
diff
changeset
|
97 /* deprecated function names (FIXME: ???) */ |
47765afaf131
style fixes for oct-conf-post.in.h
John W. Eaton <jwe@octave.org>
parents:
21188
diff
changeset
|
98 # pragma warning (disable: 4661) |
20436
bf47ac616bc0
Backout 9c7dd58b57e4 and have configure generate oct-conf-post.h
Rik <rik@octave.org>
parents:
diff
changeset
|
99 #endif |
bf47ac616bc0
Backout 9c7dd58b57e4 and have configure generate oct-conf-post.h
Rik <rik@octave.org>
parents:
diff
changeset
|
100 |
22012
22a272df4ac4
restore API macros to oct-conf-post.h removed in cset 6bce4d23af6b
John W. Eaton <jwe@octave.org>
parents:
21989
diff
changeset
|
101 #if defined (__APPLE__) && defined (__MACH__) |
22a272df4ac4
restore API macros to oct-conf-post.h removed in cset 6bce4d23af6b
John W. Eaton <jwe@octave.org>
parents:
21989
diff
changeset
|
102 # define OCTAVE_USE_OS_X_API 1 |
22a272df4ac4
restore API macros to oct-conf-post.h removed in cset 6bce4d23af6b
John W. Eaton <jwe@octave.org>
parents:
21989
diff
changeset
|
103 #endif |
22a272df4ac4
restore API macros to oct-conf-post.h removed in cset 6bce4d23af6b
John W. Eaton <jwe@octave.org>
parents:
21989
diff
changeset
|
104 |
22a272df4ac4
restore API macros to oct-conf-post.h removed in cset 6bce4d23af6b
John W. Eaton <jwe@octave.org>
parents:
21989
diff
changeset
|
105 /* Define to 1 if we expect to have <windows.h>, Sleep, etc. */ |
20436
bf47ac616bc0
Backout 9c7dd58b57e4 and have configure generate oct-conf-post.h
Rik <rik@octave.org>
parents:
diff
changeset
|
106 #if defined (__WIN32__) && ! defined (__CYGWIN__) |
22012
22a272df4ac4
restore API macros to oct-conf-post.h removed in cset 6bce4d23af6b
John W. Eaton <jwe@octave.org>
parents:
21989
diff
changeset
|
107 # define OCTAVE_USE_WINDOWS_API 1 |
22a272df4ac4
restore API macros to oct-conf-post.h removed in cset 6bce4d23af6b
John W. Eaton <jwe@octave.org>
parents:
21989
diff
changeset
|
108 #endif |
22a272df4ac4
restore API macros to oct-conf-post.h removed in cset 6bce4d23af6b
John W. Eaton <jwe@octave.org>
parents:
21989
diff
changeset
|
109 |
22a272df4ac4
restore API macros to oct-conf-post.h removed in cset 6bce4d23af6b
John W. Eaton <jwe@octave.org>
parents:
21989
diff
changeset
|
110 #if defined (OCTAVE_USE_WINDOWS_API) |
21189
47765afaf131
style fixes for oct-conf-post.in.h
John W. Eaton <jwe@octave.org>
parents:
21188
diff
changeset
|
111 # define OCTAVE_HAVE_WINDOWS_FILESYSTEM 1 |
20436
bf47ac616bc0
Backout 9c7dd58b57e4 and have configure generate oct-conf-post.h
Rik <rik@octave.org>
parents:
diff
changeset
|
112 #elif defined (__CYGWIN__) |
21189
47765afaf131
style fixes for oct-conf-post.in.h
John W. Eaton <jwe@octave.org>
parents:
21188
diff
changeset
|
113 # define OCTAVE_HAVE_WINDOWS_FILESYSTEM 1 |
47765afaf131
style fixes for oct-conf-post.in.h
John W. Eaton <jwe@octave.org>
parents:
21188
diff
changeset
|
114 # define OCTAVE_HAVE_POSIX_FILESYSTEM 1 |
20436
bf47ac616bc0
Backout 9c7dd58b57e4 and have configure generate oct-conf-post.h
Rik <rik@octave.org>
parents:
diff
changeset
|
115 #else |
21189
47765afaf131
style fixes for oct-conf-post.in.h
John W. Eaton <jwe@octave.org>
parents:
21188
diff
changeset
|
116 # define OCTAVE_HAVE_POSIX_FILESYSTEM 1 |
20436
bf47ac616bc0
Backout 9c7dd58b57e4 and have configure generate oct-conf-post.h
Rik <rik@octave.org>
parents:
diff
changeset
|
117 #endif |
bf47ac616bc0
Backout 9c7dd58b57e4 and have configure generate oct-conf-post.h
Rik <rik@octave.org>
parents:
diff
changeset
|
118 |
bf47ac616bc0
Backout 9c7dd58b57e4 and have configure generate oct-conf-post.h
Rik <rik@octave.org>
parents:
diff
changeset
|
119 /* sigsetjmp is a macro, not a function. */ |
bf47ac616bc0
Backout 9c7dd58b57e4 and have configure generate oct-conf-post.h
Rik <rik@octave.org>
parents:
diff
changeset
|
120 #if defined (sigsetjmp) && defined (HAVE_SIGLONGJMP) |
21213
f7d1050b9b53
maint: Clean up various usages of #ifdef.
Rik <rik@octave.org>
parents:
21189
diff
changeset
|
121 # define OCTAVE_HAVE_SIG_JUMP 1 |
20436
bf47ac616bc0
Backout 9c7dd58b57e4 and have configure generate oct-conf-post.h
Rik <rik@octave.org>
parents:
diff
changeset
|
122 #endif |
bf47ac616bc0
Backout 9c7dd58b57e4 and have configure generate oct-conf-post.h
Rik <rik@octave.org>
parents:
diff
changeset
|
123 |
bf47ac616bc0
Backout 9c7dd58b57e4 and have configure generate oct-conf-post.h
Rik <rik@octave.org>
parents:
diff
changeset
|
124 /* To be able to use long doubles for 64-bit mixed arithmetics, we need |
bf47ac616bc0
Backout 9c7dd58b57e4 and have configure generate oct-conf-post.h
Rik <rik@octave.org>
parents:
diff
changeset
|
125 them at least 80 bits wide and we need roundl declared in math.h. |
bf47ac616bc0
Backout 9c7dd58b57e4 and have configure generate oct-conf-post.h
Rik <rik@octave.org>
parents:
diff
changeset
|
126 FIXME: Maybe substitute this by a more precise check in the future? */ |
bf47ac616bc0
Backout 9c7dd58b57e4 and have configure generate oct-conf-post.h
Rik <rik@octave.org>
parents:
diff
changeset
|
127 #if (SIZEOF_LONG_DOUBLE >= 10) && defined (HAVE_ROUNDL) |
21189
47765afaf131
style fixes for oct-conf-post.in.h
John W. Eaton <jwe@octave.org>
parents:
21188
diff
changeset
|
128 # define OCTAVE_INT_USE_LONG_DOUBLE |
22197
e43d83253e28
refill multi-line macro definitions
John W. Eaton <jwe@octave.org>
parents:
22143
diff
changeset
|
129 # if (SIZEOF_LONG_DOUBLE < 16 \ |
21189
47765afaf131
style fixes for oct-conf-post.in.h
John W. Eaton <jwe@octave.org>
parents:
21188
diff
changeset
|
130 && (defined __i386__ || defined __x86_64__) && defined __GNUC__) |
47765afaf131
style fixes for oct-conf-post.in.h
John W. Eaton <jwe@octave.org>
parents:
21188
diff
changeset
|
131 # define OCTAVE_ENSURE_LONG_DOUBLE_OPERATIONS_ARE_NOT_TRUNCATED 1 |
47765afaf131
style fixes for oct-conf-post.in.h
John W. Eaton <jwe@octave.org>
parents:
21188
diff
changeset
|
132 # endif |
20436
bf47ac616bc0
Backout 9c7dd58b57e4 and have configure generate oct-conf-post.h
Rik <rik@octave.org>
parents:
diff
changeset
|
133 #endif |
bf47ac616bc0
Backout 9c7dd58b57e4 and have configure generate oct-conf-post.h
Rik <rik@octave.org>
parents:
diff
changeset
|
134 |
bf47ac616bc0
Backout 9c7dd58b57e4 and have configure generate oct-conf-post.h
Rik <rik@octave.org>
parents:
diff
changeset
|
135 /* oct-dlldefs.h */ |
bf47ac616bc0
Backout 9c7dd58b57e4 and have configure generate oct-conf-post.h
Rik <rik@octave.org>
parents:
diff
changeset
|
136 |
21189
47765afaf131
style fixes for oct-conf-post.in.h
John W. Eaton <jwe@octave.org>
parents:
21188
diff
changeset
|
137 /* FIXME: GCC supports visibility attributes as well, even using the |
47765afaf131
style fixes for oct-conf-post.in.h
John W. Eaton <jwe@octave.org>
parents:
21188
diff
changeset
|
138 same __declspec declaration if desired. The build system should be |
47765afaf131
style fixes for oct-conf-post.in.h
John W. Eaton <jwe@octave.org>
parents:
21188
diff
changeset
|
139 extended to support GCC and visibility attributes. */ |
20436
bf47ac616bc0
Backout 9c7dd58b57e4 and have configure generate oct-conf-post.h
Rik <rik@octave.org>
parents:
diff
changeset
|
140 #if defined (_MSC_VER) |
21189
47765afaf131
style fixes for oct-conf-post.in.h
John W. Eaton <jwe@octave.org>
parents:
21188
diff
changeset
|
141 # define OCTAVE_EXPORT __declspec(dllexport) |
47765afaf131
style fixes for oct-conf-post.in.h
John W. Eaton <jwe@octave.org>
parents:
21188
diff
changeset
|
142 # define OCTAVE_IMPORT __declspec(dllimport) |
20436
bf47ac616bc0
Backout 9c7dd58b57e4 and have configure generate oct-conf-post.h
Rik <rik@octave.org>
parents:
diff
changeset
|
143 #else |
21189
47765afaf131
style fixes for oct-conf-post.in.h
John W. Eaton <jwe@octave.org>
parents:
21188
diff
changeset
|
144 /* All other compilers, at least for now. */ |
47765afaf131
style fixes for oct-conf-post.in.h
John W. Eaton <jwe@octave.org>
parents:
21188
diff
changeset
|
145 # define OCTAVE_EXPORT |
47765afaf131
style fixes for oct-conf-post.in.h
John W. Eaton <jwe@octave.org>
parents:
21188
diff
changeset
|
146 # define OCTAVE_IMPORT |
20436
bf47ac616bc0
Backout 9c7dd58b57e4 and have configure generate oct-conf-post.h
Rik <rik@octave.org>
parents:
diff
changeset
|
147 #endif |
bf47ac616bc0
Backout 9c7dd58b57e4 and have configure generate oct-conf-post.h
Rik <rik@octave.org>
parents:
diff
changeset
|
148 |
bf47ac616bc0
Backout 9c7dd58b57e4 and have configure generate oct-conf-post.h
Rik <rik@octave.org>
parents:
diff
changeset
|
149 /* API macro for liboctave */ |
21189
47765afaf131
style fixes for oct-conf-post.in.h
John W. Eaton <jwe@octave.org>
parents:
21188
diff
changeset
|
150 #if defined (OCTAVE_DLL) |
47765afaf131
style fixes for oct-conf-post.in.h
John W. Eaton <jwe@octave.org>
parents:
21188
diff
changeset
|
151 # define OCTAVE_API OCTAVE_EXPORT |
20436
bf47ac616bc0
Backout 9c7dd58b57e4 and have configure generate oct-conf-post.h
Rik <rik@octave.org>
parents:
diff
changeset
|
152 #else |
21189
47765afaf131
style fixes for oct-conf-post.in.h
John W. Eaton <jwe@octave.org>
parents:
21188
diff
changeset
|
153 # define OCTAVE_API OCTAVE_IMPORT |
20436
bf47ac616bc0
Backout 9c7dd58b57e4 and have configure generate oct-conf-post.h
Rik <rik@octave.org>
parents:
diff
changeset
|
154 #endif |
bf47ac616bc0
Backout 9c7dd58b57e4 and have configure generate oct-conf-post.h
Rik <rik@octave.org>
parents:
diff
changeset
|
155 |
bf47ac616bc0
Backout 9c7dd58b57e4 and have configure generate oct-conf-post.h
Rik <rik@octave.org>
parents:
diff
changeset
|
156 /* API macro for libinterp */ |
21189
47765afaf131
style fixes for oct-conf-post.in.h
John W. Eaton <jwe@octave.org>
parents:
21188
diff
changeset
|
157 #if defined (OCTINTERP_DLL) |
47765afaf131
style fixes for oct-conf-post.in.h
John W. Eaton <jwe@octave.org>
parents:
21188
diff
changeset
|
158 # define OCTINTERP_API OCTAVE_EXPORT |
20436
bf47ac616bc0
Backout 9c7dd58b57e4 and have configure generate oct-conf-post.h
Rik <rik@octave.org>
parents:
diff
changeset
|
159 #else |
21189
47765afaf131
style fixes for oct-conf-post.in.h
John W. Eaton <jwe@octave.org>
parents:
21188
diff
changeset
|
160 # define OCTINTERP_API OCTAVE_IMPORT |
20436
bf47ac616bc0
Backout 9c7dd58b57e4 and have configure generate oct-conf-post.h
Rik <rik@octave.org>
parents:
diff
changeset
|
161 #endif |
bf47ac616bc0
Backout 9c7dd58b57e4 and have configure generate oct-conf-post.h
Rik <rik@octave.org>
parents:
diff
changeset
|
162 |
bf47ac616bc0
Backout 9c7dd58b57e4 and have configure generate oct-conf-post.h
Rik <rik@octave.org>
parents:
diff
changeset
|
163 /* API macro for libinterp/graphics */ |
21189
47765afaf131
style fixes for oct-conf-post.in.h
John W. Eaton <jwe@octave.org>
parents:
21188
diff
changeset
|
164 #if defined (OCTGRAPHICS_DLL) |
47765afaf131
style fixes for oct-conf-post.in.h
John W. Eaton <jwe@octave.org>
parents:
21188
diff
changeset
|
165 # define OCTGRAPHICS_API OCTAVE_EXPORT |
20436
bf47ac616bc0
Backout 9c7dd58b57e4 and have configure generate oct-conf-post.h
Rik <rik@octave.org>
parents:
diff
changeset
|
166 #else |
21189
47765afaf131
style fixes for oct-conf-post.in.h
John W. Eaton <jwe@octave.org>
parents:
21188
diff
changeset
|
167 # define OCTGRAPHICS_API OCTAVE_IMPORT |
20436
bf47ac616bc0
Backout 9c7dd58b57e4 and have configure generate oct-conf-post.h
Rik <rik@octave.org>
parents:
diff
changeset
|
168 #endif |
bf47ac616bc0
Backout 9c7dd58b57e4 and have configure generate oct-conf-post.h
Rik <rik@octave.org>
parents:
diff
changeset
|
169 |
bf47ac616bc0
Backout 9c7dd58b57e4 and have configure generate oct-conf-post.h
Rik <rik@octave.org>
parents:
diff
changeset
|
170 /* API macro for libgui */ |
21189
47765afaf131
style fixes for oct-conf-post.in.h
John W. Eaton <jwe@octave.org>
parents:
21188
diff
changeset
|
171 #if defined (OCTGUI_DLL) |
47765afaf131
style fixes for oct-conf-post.in.h
John W. Eaton <jwe@octave.org>
parents:
21188
diff
changeset
|
172 # define OCTGUI_API OCTAVE_EXPORT |
20436
bf47ac616bc0
Backout 9c7dd58b57e4 and have configure generate oct-conf-post.h
Rik <rik@octave.org>
parents:
diff
changeset
|
173 #else |
21189
47765afaf131
style fixes for oct-conf-post.in.h
John W. Eaton <jwe@octave.org>
parents:
21188
diff
changeset
|
174 # define OCTGUI_API OCTAVE_IMPORT |
20436
bf47ac616bc0
Backout 9c7dd58b57e4 and have configure generate oct-conf-post.h
Rik <rik@octave.org>
parents:
diff
changeset
|
175 #endif |
bf47ac616bc0
Backout 9c7dd58b57e4 and have configure generate oct-conf-post.h
Rik <rik@octave.org>
parents:
diff
changeset
|
176 |
21131
54527108599a
store more --enable-FEATURE info in octave_config_info
John W. Eaton <jwe@octave.org>
parents:
21092
diff
changeset
|
177 /* Backward compatibility */ |
54527108599a
store more --enable-FEATURE info in octave_config_info
John W. Eaton <jwe@octave.org>
parents:
21092
diff
changeset
|
178 |
21229
a83e7a384ee0
create and install a subset of config.h in octave-config.h
John W. Eaton <jwe@octave.org>
parents:
21228
diff
changeset
|
179 #if defined (OCTAVE_ENABLE_ATOMIC_REFCOUNT) |
21189
47765afaf131
style fixes for oct-conf-post.in.h
John W. Eaton <jwe@octave.org>
parents:
21188
diff
changeset
|
180 # define USE_ATOMIC_REFCOUNT 1 |
21131
54527108599a
store more --enable-FEATURE info in octave_config_info
John W. Eaton <jwe@octave.org>
parents:
21092
diff
changeset
|
181 #endif |
54527108599a
store more --enable-FEATURE info in octave_config_info
John W. Eaton <jwe@octave.org>
parents:
21092
diff
changeset
|
182 |
21229
a83e7a384ee0
create and install a subset of config.h in octave-config.h
John W. Eaton <jwe@octave.org>
parents:
21228
diff
changeset
|
183 #if defined (OCTAVE_ENABLE_64) |
21213
f7d1050b9b53
maint: Clean up various usages of #ifdef.
Rik <rik@octave.org>
parents:
21189
diff
changeset
|
184 # define USE_64_BIT_IDX_T 1 |
21131
54527108599a
store more --enable-FEATURE info in octave_config_info
John W. Eaton <jwe@octave.org>
parents:
21092
diff
changeset
|
185 #endif |
54527108599a
store more --enable-FEATURE info in octave_config_info
John W. Eaton <jwe@octave.org>
parents:
21092
diff
changeset
|
186 |
21229
a83e7a384ee0
create and install a subset of config.h in octave-config.h
John W. Eaton <jwe@octave.org>
parents:
21228
diff
changeset
|
187 #if defined (OCTAVE_ENABLE_OPENMP) |
21213
f7d1050b9b53
maint: Clean up various usages of #ifdef.
Rik <rik@octave.org>
parents:
21189
diff
changeset
|
188 # define HAVE_OPENMP 1 |
21131
54527108599a
store more --enable-FEATURE info in octave_config_info
John W. Eaton <jwe@octave.org>
parents:
21092
diff
changeset
|
189 #endif |
54527108599a
store more --enable-FEATURE info in octave_config_info
John W. Eaton <jwe@octave.org>
parents:
21092
diff
changeset
|
190 |
21229
a83e7a384ee0
create and install a subset of config.h in octave-config.h
John W. Eaton <jwe@octave.org>
parents:
21228
diff
changeset
|
191 #if defined (OCTAVE_ENABLE_FLOAT_TRUNCATE) |
21225
19a619ac9508
rename FLOAT_TRUNCATE to OCTAVE_FLOAT_TRUNCATE
John W. Eaton <jwe@octave.org>
parents:
21213
diff
changeset
|
192 # define OCTAVE_FLOAT_TRUNCATE volatile |
21131
54527108599a
store more --enable-FEATURE info in octave_config_info
John W. Eaton <jwe@octave.org>
parents:
21092
diff
changeset
|
193 #else |
21225
19a619ac9508
rename FLOAT_TRUNCATE to OCTAVE_FLOAT_TRUNCATE
John W. Eaton <jwe@octave.org>
parents:
21213
diff
changeset
|
194 # define OCTAVE_FLOAT_TRUNCATE |
21131
54527108599a
store more --enable-FEATURE info in octave_config_info
John W. Eaton <jwe@octave.org>
parents:
21092
diff
changeset
|
195 #endif |
54527108599a
store more --enable-FEATURE info in octave_config_info
John W. Eaton <jwe@octave.org>
parents:
21092
diff
changeset
|
196 |
21850
0507f0d2135d
indent preprocessor directives in octave-config.h and oct-conf-post.h
John W. Eaton <jwe@octave.org>
parents:
21749
diff
changeset
|
197 #if defined (__cplusplus) |
0507f0d2135d
indent preprocessor directives in octave-config.h and oct-conf-post.h
John W. Eaton <jwe@octave.org>
parents:
21749
diff
changeset
|
198 # include <cstdint> |
0507f0d2135d
indent preprocessor directives in octave-config.h and oct-conf-post.h
John W. Eaton <jwe@octave.org>
parents:
21749
diff
changeset
|
199 #else |
0507f0d2135d
indent preprocessor directives in octave-config.h and oct-conf-post.h
John W. Eaton <jwe@octave.org>
parents:
21749
diff
changeset
|
200 # include <stdint.h> |
0507f0d2135d
indent preprocessor directives in octave-config.h and oct-conf-post.h
John W. Eaton <jwe@octave.org>
parents:
21749
diff
changeset
|
201 #endif |
20436
bf47ac616bc0
Backout 9c7dd58b57e4 and have configure generate oct-conf-post.h
Rik <rik@octave.org>
parents:
diff
changeset
|
202 |
bf47ac616bc0
Backout 9c7dd58b57e4 and have configure generate oct-conf-post.h
Rik <rik@octave.org>
parents:
diff
changeset
|
203 typedef OCTAVE_IDX_TYPE octave_idx_type; |
22842
60405b73e439
provide separate typedefs for octave_idx_type and octave_f77_int_type
John W. Eaton <jwe@octave.org>
parents:
22755
diff
changeset
|
204 typedef OCTAVE_F77_INT_TYPE octave_f77_int_type; |
20436
bf47ac616bc0
Backout 9c7dd58b57e4 and have configure generate oct-conf-post.h
Rik <rik@octave.org>
parents:
diff
changeset
|
205 |
22990
f71191aea679
provide macro declaring existence of f77 integer type
John W. Eaton <jwe@octave.org>
parents:
22985
diff
changeset
|
206 #define OCTAVE_HAVE_F77_INT_TYPE 1 |
20436
bf47ac616bc0
Backout 9c7dd58b57e4 and have configure generate oct-conf-post.h
Rik <rik@octave.org>
parents:
diff
changeset
|
207 |
24538
2b273df71aa0
allow experimenting with thread_local storage
John W. Eaton <jwe@octave.org>
parents:
24534
diff
changeset
|
208 #if defined (__cplusplus) && ! defined (OCTAVE_THREAD_LOCAL) |
2b273df71aa0
allow experimenting with thread_local storage
John W. Eaton <jwe@octave.org>
parents:
24534
diff
changeset
|
209 # define OCTAVE_THREAD_LOCAL |
2b273df71aa0
allow experimenting with thread_local storage
John W. Eaton <jwe@octave.org>
parents:
24534
diff
changeset
|
210 #endif |
2b273df71aa0
allow experimenting with thread_local storage
John W. Eaton <jwe@octave.org>
parents:
24534
diff
changeset
|
211 |
21240
7af5ca01ecac
allow octave-config.h to be included unconditionally
John W. Eaton <jwe@octave.org>
parents:
21229
diff
changeset
|
212 /* Tag indicating Octave's autoconf-generated config.h has been |
7af5ca01ecac
allow octave-config.h to be included unconditionally
John W. Eaton <jwe@octave.org>
parents:
21229
diff
changeset
|
213 included. This symbol is provided because autoconf-generated |
7af5ca01ecac
allow octave-config.h to be included unconditionally
John W. Eaton <jwe@octave.org>
parents:
21229
diff
changeset
|
214 config.h files do not define a multiple-inclusion guard. See also |
7af5ca01ecac
allow octave-config.h to be included unconditionally
John W. Eaton <jwe@octave.org>
parents:
21229
diff
changeset
|
215 the notes at the top of the generated octave-config.h file. */ |
7af5ca01ecac
allow octave-config.h to be included unconditionally
John W. Eaton <jwe@octave.org>
parents:
21229
diff
changeset
|
216 |
7af5ca01ecac
allow octave-config.h to be included unconditionally
John W. Eaton <jwe@octave.org>
parents:
21229
diff
changeset
|
217 #define OCTAVE_AUTOCONFIG_H_INCLUDED 1 |