annotate oct-conf-post.in.h @ 26376:00f796120a6d stable

maint: Update copyright dates in all source files.
author John W. Eaton <jwe@octave.org>
date Wed, 02 Jan 2019 16:32:43 -0500
parents 7f6a50f73625
children eebf4b67f012
Ignore whitespace changes - Everywhere: Within whitespace: At end of lines:
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
26376
00f796120a6d maint: Update copyright dates in all source files.
John W. Eaton <jwe@octave.org>
parents: 26164
diff changeset
3 Copyright (C) 1993-2019 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
26164
7f6a50f73625 Silence compiler warnings about format identifier for octave_idx_type (bug #55046).
Markus Mützel <markus.muetzel@gmx.de>
parents: 26147
diff changeset
53 #if defined (__MINGW32__)
7f6a50f73625 Silence compiler warnings about format identifier for octave_idx_type (bug #55046).
Markus Mützel <markus.muetzel@gmx.de>
parents: 26147
diff changeset
54 /* MinGW requires special handling due to different format specifiers
7f6a50f73625 Silence compiler warnings about format identifier for octave_idx_type (bug #55046).
Markus Mützel <markus.muetzel@gmx.de>
parents: 26147
diff changeset
55 * on different platforms. The macro __MINGW_PRINTF_FORMAT maps to
7f6a50f73625 Silence compiler warnings about format identifier for octave_idx_type (bug #55046).
Markus Mützel <markus.muetzel@gmx.de>
parents: 26147
diff changeset
56 * either gnu_printf or ms_printf depending on where we are compiling
7f6a50f73625 Silence compiler warnings about format identifier for octave_idx_type (bug #55046).
Markus Mützel <markus.muetzel@gmx.de>
parents: 26147
diff changeset
57 * to avoid warnings on format specifiers that are legal.
7f6a50f73625 Silence compiler warnings about format identifier for octave_idx_type (bug #55046).
Markus Mützel <markus.muetzel@gmx.de>
parents: 26147
diff changeset
58 * See: https://bugzilla.mozilla.org/show_bug.cgi?id=1331349 */
7f6a50f73625 Silence compiler warnings about format identifier for octave_idx_type (bug #55046).
Markus Mützel <markus.muetzel@gmx.de>
parents: 26147
diff changeset
59 # define OCTAVE_FORMAT_PRINTF(stringIndex, firstToCheck) \
7f6a50f73625 Silence compiler warnings about format identifier for octave_idx_type (bug #55046).
Markus Mützel <markus.muetzel@gmx.de>
parents: 26147
diff changeset
60 __attribute__ ((format (__MINGW_PRINTF_FORMAT, stringIndex, firstToCheck)))
7f6a50f73625 Silence compiler warnings about format identifier for octave_idx_type (bug #55046).
Markus Mützel <markus.muetzel@gmx.de>
parents: 26147
diff changeset
61
7f6a50f73625 Silence compiler warnings about format identifier for octave_idx_type (bug #55046).
Markus Mützel <markus.muetzel@gmx.de>
parents: 26147
diff changeset
62 # define HAVE_OCTAVE_FORMAT_PRINTF_ATTR 1
7f6a50f73625 Silence compiler warnings about format identifier for octave_idx_type (bug #55046).
Markus Mützel <markus.muetzel@gmx.de>
parents: 26147
diff changeset
63 #elif defined (__GNUC__)
7f6a50f73625 Silence compiler warnings about format identifier for octave_idx_type (bug #55046).
Markus Mützel <markus.muetzel@gmx.de>
parents: 26147
diff changeset
64 /* The following attributes are used with gcc and clang compilers. */
7f6a50f73625 Silence compiler warnings about format identifier for octave_idx_type (bug #55046).
Markus Mützel <markus.muetzel@gmx.de>
parents: 26147
diff changeset
65 # define OCTAVE_FORMAT_PRINTF(index, first) \
7f6a50f73625 Silence compiler warnings about format identifier for octave_idx_type (bug #55046).
Markus Mützel <markus.muetzel@gmx.de>
parents: 26147
diff changeset
66 __attribute__ ((__format__(printf, index, first)))
7f6a50f73625 Silence compiler warnings about format identifier for octave_idx_type (bug #55046).
Markus Mützel <markus.muetzel@gmx.de>
parents: 26147
diff changeset
67
7f6a50f73625 Silence compiler warnings about format identifier for octave_idx_type (bug #55046).
Markus Mützel <markus.muetzel@gmx.de>
parents: 26147
diff changeset
68 # define HAVE_OCTAVE_FORMAT_PRINTF_ATTR 1
7f6a50f73625 Silence compiler warnings about format identifier for octave_idx_type (bug #55046).
Markus Mützel <markus.muetzel@gmx.de>
parents: 26147
diff changeset
69 #else
7f6a50f73625 Silence compiler warnings about format identifier for octave_idx_type (bug #55046).
Markus Mützel <markus.muetzel@gmx.de>
parents: 26147
diff changeset
70 # define OCTAVE_FORMAT_PRINTF(index, first)
7f6a50f73625 Silence compiler warnings about format identifier for octave_idx_type (bug #55046).
Markus Mützel <markus.muetzel@gmx.de>
parents: 26147
diff changeset
71
7f6a50f73625 Silence compiler warnings about format identifier for octave_idx_type (bug #55046).
Markus Mützel <markus.muetzel@gmx.de>
parents: 26147
diff changeset
72 /* # undef HAVE_OCTAVE_FORMAT_PRINTF_ATTR */
7f6a50f73625 Silence compiler warnings about format identifier for octave_idx_type (bug #55046).
Markus Mützel <markus.muetzel@gmx.de>
parents: 26147
diff changeset
73 #endif
7f6a50f73625 Silence compiler warnings about format identifier for octave_idx_type (bug #55046).
Markus Mützel <markus.muetzel@gmx.de>
parents: 26147
diff changeset
74
23826
d69021d58a61 avoid fallthrough warnings
John W. Eaton <jwe@octave.org>
parents: 23696
diff changeset
75 #if ! defined (OCTAVE_FALLTHROUGH)
d69021d58a61 avoid fallthrough warnings
John W. Eaton <jwe@octave.org>
parents: 23696
diff changeset
76 # if defined (__cplusplus) && __cplusplus > 201402L
d69021d58a61 avoid fallthrough warnings
John W. Eaton <jwe@octave.org>
parents: 23696
diff changeset
77 # define OCTAVE_FALLTHROUGH [[fallthrough]]
d69021d58a61 avoid fallthrough warnings
John W. Eaton <jwe@octave.org>
parents: 23696
diff changeset
78 # elif defined (__GNUC__) && __GNUC__ < 7
d69021d58a61 avoid fallthrough warnings
John W. Eaton <jwe@octave.org>
parents: 23696
diff changeset
79 # define OCTAVE_FALLTHROUGH ((void) 0)
d69021d58a61 avoid fallthrough warnings
John W. Eaton <jwe@octave.org>
parents: 23696
diff changeset
80 # else
d69021d58a61 avoid fallthrough warnings
John W. Eaton <jwe@octave.org>
parents: 23696
diff changeset
81 # define OCTAVE_FALLTHROUGH __attribute__ ((__fallthrough__))
d69021d58a61 avoid fallthrough warnings
John W. Eaton <jwe@octave.org>
parents: 23696
diff changeset
82 # endif
d69021d58a61 avoid fallthrough warnings
John W. Eaton <jwe@octave.org>
parents: 23696
diff changeset
83 #endif
d69021d58a61 avoid fallthrough warnings
John W. Eaton <jwe@octave.org>
parents: 23696
diff changeset
84
23696
08036a7f3660 remove octave:: namespace tag from symbols used inside octave namespace
John W. Eaton <jwe@octave.org>
parents: 23615
diff changeset
85 /* 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
86 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
87 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
88 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
89 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
90 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
91 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
92 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
93 /* #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
94
21691
263d18409fdf Eliminate unused variable warnings for conditionally compiled code.
John W. Eaton <jwe@octave.org>
parents: 21325
diff changeset
95 #if defined (__cplusplus)
263d18409fdf Eliminate unused variable warnings for conditionally compiled code.
John W. Eaton <jwe@octave.org>
parents: 21325
diff changeset
96 template <typename T>
263d18409fdf Eliminate unused variable warnings for conditionally compiled code.
John W. Eaton <jwe@octave.org>
parents: 21325
diff changeset
97 static inline void
263d18409fdf Eliminate unused variable warnings for conditionally compiled code.
John W. Eaton <jwe@octave.org>
parents: 21325
diff changeset
98 octave_unused_parameter (const T&)
263d18409fdf Eliminate unused variable warnings for conditionally compiled code.
John W. Eaton <jwe@octave.org>
parents: 21325
diff changeset
99 { }
263d18409fdf Eliminate unused variable warnings for conditionally compiled code.
John W. Eaton <jwe@octave.org>
parents: 21325
diff changeset
100 #else
263d18409fdf Eliminate unused variable warnings for conditionally compiled code.
John W. Eaton <jwe@octave.org>
parents: 21325
diff changeset
101 # 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
102 #endif
263d18409fdf Eliminate unused variable warnings for conditionally compiled code.
John W. Eaton <jwe@octave.org>
parents: 21325
diff changeset
103
20436
bf47ac616bc0 Backout 9c7dd58b57e4 and have configure generate oct-conf-post.h
Rik <rik@octave.org>
parents:
diff changeset
104 #if ! defined (HAVE_DEV_T)
bf47ac616bc0 Backout 9c7dd58b57e4 and have configure generate oct-conf-post.h
Rik <rik@octave.org>
parents:
diff changeset
105 typedef short dev_t;
bf47ac616bc0 Backout 9c7dd58b57e4 and have configure generate oct-conf-post.h
Rik <rik@octave.org>
parents:
diff changeset
106 #endif
bf47ac616bc0 Backout 9c7dd58b57e4 and have configure generate oct-conf-post.h
Rik <rik@octave.org>
parents:
diff changeset
107
bf47ac616bc0 Backout 9c7dd58b57e4 and have configure generate oct-conf-post.h
Rik <rik@octave.org>
parents:
diff changeset
108 #if ! defined (HAVE_INO_T)
bf47ac616bc0 Backout 9c7dd58b57e4 and have configure generate oct-conf-post.h
Rik <rik@octave.org>
parents:
diff changeset
109 typedef unsigned long ino_t;
bf47ac616bc0 Backout 9c7dd58b57e4 and have configure generate oct-conf-post.h
Rik <rik@octave.org>
parents:
diff changeset
110 #endif
bf47ac616bc0 Backout 9c7dd58b57e4 and have configure generate oct-conf-post.h
Rik <rik@octave.org>
parents:
diff changeset
111
bf47ac616bc0 Backout 9c7dd58b57e4 and have configure generate oct-conf-post.h
Rik <rik@octave.org>
parents:
diff changeset
112 #if defined (_MSC_VER)
21213
f7d1050b9b53 maint: Clean up various usages of #ifdef.
Rik <rik@octave.org>
parents: 21189
diff changeset
113 # define __WIN32__ 1
f7d1050b9b53 maint: Clean up various usages of #ifdef.
Rik <rik@octave.org>
parents: 21189
diff changeset
114 # define WIN32 1
21189
47765afaf131 style fixes for oct-conf-post.in.h
John W. Eaton <jwe@octave.org>
parents: 21188
diff changeset
115 /* missing parameters in macros */
47765afaf131 style fixes for oct-conf-post.in.h
John W. Eaton <jwe@octave.org>
parents: 21188
diff changeset
116 # pragma warning (disable: 4003)
47765afaf131 style fixes for oct-conf-post.in.h
John W. Eaton <jwe@octave.org>
parents: 21188
diff changeset
117 /* missing implementations in template instantiation */
47765afaf131 style fixes for oct-conf-post.in.h
John W. Eaton <jwe@octave.org>
parents: 21188
diff changeset
118 # pragma warning (disable: 4996)
47765afaf131 style fixes for oct-conf-post.in.h
John W. Eaton <jwe@octave.org>
parents: 21188
diff changeset
119 /* deprecated function names (FIXME: ???) */
47765afaf131 style fixes for oct-conf-post.in.h
John W. Eaton <jwe@octave.org>
parents: 21188
diff changeset
120 # pragma warning (disable: 4661)
20436
bf47ac616bc0 Backout 9c7dd58b57e4 and have configure generate oct-conf-post.h
Rik <rik@octave.org>
parents:
diff changeset
121 #endif
bf47ac616bc0 Backout 9c7dd58b57e4 and have configure generate oct-conf-post.h
Rik <rik@octave.org>
parents:
diff changeset
122
22012
22a272df4ac4 restore API macros to oct-conf-post.h removed in cset 6bce4d23af6b
John W. Eaton <jwe@octave.org>
parents: 21989
diff changeset
123 #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
124 # 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
125 #endif
22a272df4ac4 restore API macros to oct-conf-post.h removed in cset 6bce4d23af6b
John W. Eaton <jwe@octave.org>
parents: 21989
diff changeset
126
22a272df4ac4 restore API macros to oct-conf-post.h removed in cset 6bce4d23af6b
John W. Eaton <jwe@octave.org>
parents: 21989
diff changeset
127 /* 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
128 #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
129 # 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
130 #endif
22a272df4ac4 restore API macros to oct-conf-post.h removed in cset 6bce4d23af6b
John W. Eaton <jwe@octave.org>
parents: 21989
diff changeset
131
22a272df4ac4 restore API macros to oct-conf-post.h removed in cset 6bce4d23af6b
John W. Eaton <jwe@octave.org>
parents: 21989
diff changeset
132 #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
133 # 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
134 #elif defined (__CYGWIN__)
21189
47765afaf131 style fixes for oct-conf-post.in.h
John W. Eaton <jwe@octave.org>
parents: 21188
diff changeset
135 # 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
136 # 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
137 #else
21189
47765afaf131 style fixes for oct-conf-post.in.h
John W. Eaton <jwe@octave.org>
parents: 21188
diff changeset
138 # 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
139 #endif
bf47ac616bc0 Backout 9c7dd58b57e4 and have configure generate oct-conf-post.h
Rik <rik@octave.org>
parents:
diff changeset
140
bf47ac616bc0 Backout 9c7dd58b57e4 and have configure generate oct-conf-post.h
Rik <rik@octave.org>
parents:
diff changeset
141 /* 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
142 #if defined (sigsetjmp) && defined (HAVE_SIGLONGJMP)
21213
f7d1050b9b53 maint: Clean up various usages of #ifdef.
Rik <rik@octave.org>
parents: 21189
diff changeset
143 # 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
144 #endif
bf47ac616bc0 Backout 9c7dd58b57e4 and have configure generate oct-conf-post.h
Rik <rik@octave.org>
parents:
diff changeset
145
bf47ac616bc0 Backout 9c7dd58b57e4 and have configure generate oct-conf-post.h
Rik <rik@octave.org>
parents:
diff changeset
146 /* 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
147 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
148 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
149 #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
150 # define OCTAVE_INT_USE_LONG_DOUBLE
22197
e43d83253e28 refill multi-line macro definitions
John W. Eaton <jwe@octave.org>
parents: 22143
diff changeset
151 # 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
152 && (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
153 # 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
154 # endif
20436
bf47ac616bc0 Backout 9c7dd58b57e4 and have configure generate oct-conf-post.h
Rik <rik@octave.org>
parents:
diff changeset
155 #endif
bf47ac616bc0 Backout 9c7dd58b57e4 and have configure generate oct-conf-post.h
Rik <rik@octave.org>
parents:
diff changeset
156
bf47ac616bc0 Backout 9c7dd58b57e4 and have configure generate oct-conf-post.h
Rik <rik@octave.org>
parents:
diff changeset
157 /* oct-dlldefs.h */
bf47ac616bc0 Backout 9c7dd58b57e4 and have configure generate oct-conf-post.h
Rik <rik@octave.org>
parents:
diff changeset
158
21189
47765afaf131 style fixes for oct-conf-post.in.h
John W. Eaton <jwe@octave.org>
parents: 21188
diff changeset
159 /* 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
160 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
161 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
162 #if defined (_MSC_VER)
21189
47765afaf131 style fixes for oct-conf-post.in.h
John W. Eaton <jwe@octave.org>
parents: 21188
diff changeset
163 # define OCTAVE_EXPORT __declspec(dllexport)
47765afaf131 style fixes for oct-conf-post.in.h
John W. Eaton <jwe@octave.org>
parents: 21188
diff changeset
164 # define OCTAVE_IMPORT __declspec(dllimport)
20436
bf47ac616bc0 Backout 9c7dd58b57e4 and have configure generate oct-conf-post.h
Rik <rik@octave.org>
parents:
diff changeset
165 #else
21189
47765afaf131 style fixes for oct-conf-post.in.h
John W. Eaton <jwe@octave.org>
parents: 21188
diff changeset
166 /* 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
167 # define OCTAVE_EXPORT
47765afaf131 style fixes for oct-conf-post.in.h
John W. Eaton <jwe@octave.org>
parents: 21188
diff changeset
168 # define OCTAVE_IMPORT
20436
bf47ac616bc0 Backout 9c7dd58b57e4 and have configure generate oct-conf-post.h
Rik <rik@octave.org>
parents:
diff changeset
169 #endif
bf47ac616bc0 Backout 9c7dd58b57e4 and have configure generate oct-conf-post.h
Rik <rik@octave.org>
parents:
diff changeset
170
bf47ac616bc0 Backout 9c7dd58b57e4 and have configure generate oct-conf-post.h
Rik <rik@octave.org>
parents:
diff changeset
171 /* API macro for liboctave */
21189
47765afaf131 style fixes for oct-conf-post.in.h
John W. Eaton <jwe@octave.org>
parents: 21188
diff changeset
172 #if defined (OCTAVE_DLL)
47765afaf131 style fixes for oct-conf-post.in.h
John W. Eaton <jwe@octave.org>
parents: 21188
diff changeset
173 # define OCTAVE_API OCTAVE_EXPORT
20436
bf47ac616bc0 Backout 9c7dd58b57e4 and have configure generate oct-conf-post.h
Rik <rik@octave.org>
parents:
diff changeset
174 #else
21189
47765afaf131 style fixes for oct-conf-post.in.h
John W. Eaton <jwe@octave.org>
parents: 21188
diff changeset
175 # define OCTAVE_API OCTAVE_IMPORT
20436
bf47ac616bc0 Backout 9c7dd58b57e4 and have configure generate oct-conf-post.h
Rik <rik@octave.org>
parents:
diff changeset
176 #endif
bf47ac616bc0 Backout 9c7dd58b57e4 and have configure generate oct-conf-post.h
Rik <rik@octave.org>
parents:
diff changeset
177
bf47ac616bc0 Backout 9c7dd58b57e4 and have configure generate oct-conf-post.h
Rik <rik@octave.org>
parents:
diff changeset
178 /* API macro for libinterp */
21189
47765afaf131 style fixes for oct-conf-post.in.h
John W. Eaton <jwe@octave.org>
parents: 21188
diff changeset
179 #if defined (OCTINTERP_DLL)
47765afaf131 style fixes for oct-conf-post.in.h
John W. Eaton <jwe@octave.org>
parents: 21188
diff changeset
180 # define OCTINTERP_API OCTAVE_EXPORT
20436
bf47ac616bc0 Backout 9c7dd58b57e4 and have configure generate oct-conf-post.h
Rik <rik@octave.org>
parents:
diff changeset
181 #else
21189
47765afaf131 style fixes for oct-conf-post.in.h
John W. Eaton <jwe@octave.org>
parents: 21188
diff changeset
182 # define OCTINTERP_API OCTAVE_IMPORT
20436
bf47ac616bc0 Backout 9c7dd58b57e4 and have configure generate oct-conf-post.h
Rik <rik@octave.org>
parents:
diff changeset
183 #endif
bf47ac616bc0 Backout 9c7dd58b57e4 and have configure generate oct-conf-post.h
Rik <rik@octave.org>
parents:
diff changeset
184
bf47ac616bc0 Backout 9c7dd58b57e4 and have configure generate oct-conf-post.h
Rik <rik@octave.org>
parents:
diff changeset
185 /* 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
186 #if defined (OCTGRAPHICS_DLL)
47765afaf131 style fixes for oct-conf-post.in.h
John W. Eaton <jwe@octave.org>
parents: 21188
diff changeset
187 # define OCTGRAPHICS_API OCTAVE_EXPORT
20436
bf47ac616bc0 Backout 9c7dd58b57e4 and have configure generate oct-conf-post.h
Rik <rik@octave.org>
parents:
diff changeset
188 #else
21189
47765afaf131 style fixes for oct-conf-post.in.h
John W. Eaton <jwe@octave.org>
parents: 21188
diff changeset
189 # define OCTGRAPHICS_API OCTAVE_IMPORT
20436
bf47ac616bc0 Backout 9c7dd58b57e4 and have configure generate oct-conf-post.h
Rik <rik@octave.org>
parents:
diff changeset
190 #endif
bf47ac616bc0 Backout 9c7dd58b57e4 and have configure generate oct-conf-post.h
Rik <rik@octave.org>
parents:
diff changeset
191
bf47ac616bc0 Backout 9c7dd58b57e4 and have configure generate oct-conf-post.h
Rik <rik@octave.org>
parents:
diff changeset
192 /* API macro for libgui */
21189
47765afaf131 style fixes for oct-conf-post.in.h
John W. Eaton <jwe@octave.org>
parents: 21188
diff changeset
193 #if defined (OCTGUI_DLL)
47765afaf131 style fixes for oct-conf-post.in.h
John W. Eaton <jwe@octave.org>
parents: 21188
diff changeset
194 # define OCTGUI_API OCTAVE_EXPORT
20436
bf47ac616bc0 Backout 9c7dd58b57e4 and have configure generate oct-conf-post.h
Rik <rik@octave.org>
parents:
diff changeset
195 #else
21189
47765afaf131 style fixes for oct-conf-post.in.h
John W. Eaton <jwe@octave.org>
parents: 21188
diff changeset
196 # define OCTGUI_API OCTAVE_IMPORT
20436
bf47ac616bc0 Backout 9c7dd58b57e4 and have configure generate oct-conf-post.h
Rik <rik@octave.org>
parents:
diff changeset
197 #endif
bf47ac616bc0 Backout 9c7dd58b57e4 and have configure generate oct-conf-post.h
Rik <rik@octave.org>
parents:
diff changeset
198
21131
54527108599a store more --enable-FEATURE info in octave_config_info
John W. Eaton <jwe@octave.org>
parents: 21092
diff changeset
199 /* Backward compatibility */
54527108599a store more --enable-FEATURE info in octave_config_info
John W. Eaton <jwe@octave.org>
parents: 21092
diff changeset
200
21229
a83e7a384ee0 create and install a subset of config.h in octave-config.h
John W. Eaton <jwe@octave.org>
parents: 21228
diff changeset
201 #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
202 # 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
203 #endif
54527108599a store more --enable-FEATURE info in octave_config_info
John W. Eaton <jwe@octave.org>
parents: 21092
diff changeset
204
21229
a83e7a384ee0 create and install a subset of config.h in octave-config.h
John W. Eaton <jwe@octave.org>
parents: 21228
diff changeset
205 #if defined (OCTAVE_ENABLE_64)
21213
f7d1050b9b53 maint: Clean up various usages of #ifdef.
Rik <rik@octave.org>
parents: 21189
diff changeset
206 # 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
207 #endif
54527108599a store more --enable-FEATURE info in octave_config_info
John W. Eaton <jwe@octave.org>
parents: 21092
diff changeset
208
21229
a83e7a384ee0 create and install a subset of config.h in octave-config.h
John W. Eaton <jwe@octave.org>
parents: 21228
diff changeset
209 #if defined (OCTAVE_ENABLE_OPENMP)
21213
f7d1050b9b53 maint: Clean up various usages of #ifdef.
Rik <rik@octave.org>
parents: 21189
diff changeset
210 # 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
211 #endif
54527108599a store more --enable-FEATURE info in octave_config_info
John W. Eaton <jwe@octave.org>
parents: 21092
diff changeset
212
21229
a83e7a384ee0 create and install a subset of config.h in octave-config.h
John W. Eaton <jwe@octave.org>
parents: 21228
diff changeset
213 #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
214 # 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
215 #else
21225
19a619ac9508 rename FLOAT_TRUNCATE to OCTAVE_FLOAT_TRUNCATE
John W. Eaton <jwe@octave.org>
parents: 21213
diff changeset
216 # 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
217 #endif
54527108599a store more --enable-FEATURE info in octave_config_info
John W. Eaton <jwe@octave.org>
parents: 21092
diff changeset
218
21850
0507f0d2135d indent preprocessor directives in octave-config.h and oct-conf-post.h
John W. Eaton <jwe@octave.org>
parents: 21749
diff changeset
219 #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
220 # 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
221 #else
0507f0d2135d indent preprocessor directives in octave-config.h and oct-conf-post.h
John W. Eaton <jwe@octave.org>
parents: 21749
diff changeset
222 # 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
223 #endif
20436
bf47ac616bc0 Backout 9c7dd58b57e4 and have configure generate oct-conf-post.h
Rik <rik@octave.org>
parents:
diff changeset
224
bf47ac616bc0 Backout 9c7dd58b57e4 and have configure generate oct-conf-post.h
Rik <rik@octave.org>
parents:
diff changeset
225 typedef OCTAVE_IDX_TYPE octave_idx_type;
26164
7f6a50f73625 Silence compiler warnings about format identifier for octave_idx_type (bug #55046).
Markus Mützel <markus.muetzel@gmx.de>
parents: 26147
diff changeset
226
7f6a50f73625 Silence compiler warnings about format identifier for octave_idx_type (bug #55046).
Markus Mützel <markus.muetzel@gmx.de>
parents: 26147
diff changeset
227 #if defined (OCTAVE_ENABLE_64)
7f6a50f73625 Silence compiler warnings about format identifier for octave_idx_type (bug #55046).
Markus Mützel <markus.muetzel@gmx.de>
parents: 26147
diff changeset
228 # define OCTAVE_IDX_TYPE_FORMAT PRId64
7f6a50f73625 Silence compiler warnings about format identifier for octave_idx_type (bug #55046).
Markus Mützel <markus.muetzel@gmx.de>
parents: 26147
diff changeset
229 #else
7f6a50f73625 Silence compiler warnings about format identifier for octave_idx_type (bug #55046).
Markus Mützel <markus.muetzel@gmx.de>
parents: 26147
diff changeset
230 # define OCTAVE_IDX_TYPE_FORMAT PRId32
7f6a50f73625 Silence compiler warnings about format identifier for octave_idx_type (bug #55046).
Markus Mützel <markus.muetzel@gmx.de>
parents: 26147
diff changeset
231 #endif
7f6a50f73625 Silence compiler warnings about format identifier for octave_idx_type (bug #55046).
Markus Mützel <markus.muetzel@gmx.de>
parents: 26147
diff changeset
232
22842
60405b73e439 provide separate typedefs for octave_idx_type and octave_f77_int_type
John W. Eaton <jwe@octave.org>
parents: 22755
diff changeset
233 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
234
22990
f71191aea679 provide macro declaring existence of f77 integer type
John W. Eaton <jwe@octave.org>
parents: 22985
diff changeset
235 #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
236
24538
2b273df71aa0 allow experimenting with thread_local storage
John W. Eaton <jwe@octave.org>
parents: 24534
diff changeset
237 #if defined (__cplusplus) && ! defined (OCTAVE_THREAD_LOCAL)
2b273df71aa0 allow experimenting with thread_local storage
John W. Eaton <jwe@octave.org>
parents: 24534
diff changeset
238 # define OCTAVE_THREAD_LOCAL
2b273df71aa0 allow experimenting with thread_local storage
John W. Eaton <jwe@octave.org>
parents: 24534
diff changeset
239 #endif
2b273df71aa0 allow experimenting with thread_local storage
John W. Eaton <jwe@octave.org>
parents: 24534
diff changeset
240
21240
7af5ca01ecac allow octave-config.h to be included unconditionally
John W. Eaton <jwe@octave.org>
parents: 21229
diff changeset
241 /* 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
242 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
243 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
244 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
245
7af5ca01ecac allow octave-config.h to be included unconditionally
John W. Eaton <jwe@octave.org>
parents: 21229
diff changeset
246 #define OCTAVE_AUTOCONFIG_H_INCLUDED 1