Mercurial > octave
annotate oct-conf-post-public.in.h @ 33234:e104e9f0cf62
allow dup2, fcntl, and stat to work for file IDs not tracked by Octave (bug #65393)
* syscalls.cc (Fdup2, Ffcntl, Fstat): Do stream lookup of input FID within a
try block. If this throws an error then catch block will use the provided
file ID directly.
author | Rik <rik@octave.org> |
---|---|
date | Thu, 21 Mar 2024 17:18:36 -0700 |
parents | e20624df2cd2 |
children |
rev | line source |
---|---|
30580
fdc30b576333
eliminate code duplication in oct-conf-post.in.h and octave-config.h
John W. Eaton <jwe@octave.org>
parents:
diff
changeset
|
1 //////////////////////////////////////////////////////////////////////// |
fdc30b576333
eliminate code duplication in oct-conf-post.in.h and octave-config.h
John W. Eaton <jwe@octave.org>
parents:
diff
changeset
|
2 // |
32632
2e484f9f1f18
maint: update Octave Project Developers copyright for the new year
John W. Eaton <jwe@octave.org>
parents:
32118
diff
changeset
|
3 // Copyright (C) 1993-2024 The Octave Project Developers |
30580
fdc30b576333
eliminate code duplication in oct-conf-post.in.h and octave-config.h
John W. Eaton <jwe@octave.org>
parents:
diff
changeset
|
4 // |
fdc30b576333
eliminate code duplication in oct-conf-post.in.h and octave-config.h
John W. Eaton <jwe@octave.org>
parents:
diff
changeset
|
5 // See the file COPYRIGHT.md in the top-level directory of this |
fdc30b576333
eliminate code duplication in oct-conf-post.in.h and octave-config.h
John W. Eaton <jwe@octave.org>
parents:
diff
changeset
|
6 // distribution or <https://octave.org/copyright/>. |
fdc30b576333
eliminate code duplication in oct-conf-post.in.h and octave-config.h
John W. Eaton <jwe@octave.org>
parents:
diff
changeset
|
7 // |
fdc30b576333
eliminate code duplication in oct-conf-post.in.h and octave-config.h
John W. Eaton <jwe@octave.org>
parents:
diff
changeset
|
8 // This file is part of Octave. |
fdc30b576333
eliminate code duplication in oct-conf-post.in.h and octave-config.h
John W. Eaton <jwe@octave.org>
parents:
diff
changeset
|
9 // |
fdc30b576333
eliminate code duplication in oct-conf-post.in.h and octave-config.h
John W. Eaton <jwe@octave.org>
parents:
diff
changeset
|
10 // Octave is free software: you can redistribute it and/or modify it |
fdc30b576333
eliminate code duplication in oct-conf-post.in.h and octave-config.h
John W. Eaton <jwe@octave.org>
parents:
diff
changeset
|
11 // under the terms of the GNU General Public License as published by |
fdc30b576333
eliminate code duplication in oct-conf-post.in.h and octave-config.h
John W. Eaton <jwe@octave.org>
parents:
diff
changeset
|
12 // the Free Software Foundation, either version 3 of the License, or |
fdc30b576333
eliminate code duplication in oct-conf-post.in.h and octave-config.h
John W. Eaton <jwe@octave.org>
parents:
diff
changeset
|
13 // (at your option) any later version. |
fdc30b576333
eliminate code duplication in oct-conf-post.in.h and octave-config.h
John W. Eaton <jwe@octave.org>
parents:
diff
changeset
|
14 // |
fdc30b576333
eliminate code duplication in oct-conf-post.in.h and octave-config.h
John W. Eaton <jwe@octave.org>
parents:
diff
changeset
|
15 // Octave is distributed in the hope that it will be useful, but |
fdc30b576333
eliminate code duplication in oct-conf-post.in.h and octave-config.h
John W. Eaton <jwe@octave.org>
parents:
diff
changeset
|
16 // WITHOUT ANY WARRANTY; without even the implied warranty of |
fdc30b576333
eliminate code duplication in oct-conf-post.in.h and octave-config.h
John W. Eaton <jwe@octave.org>
parents:
diff
changeset
|
17 // MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the |
fdc30b576333
eliminate code duplication in oct-conf-post.in.h and octave-config.h
John W. Eaton <jwe@octave.org>
parents:
diff
changeset
|
18 // GNU General Public License for more details. |
fdc30b576333
eliminate code duplication in oct-conf-post.in.h and octave-config.h
John W. Eaton <jwe@octave.org>
parents:
diff
changeset
|
19 // |
fdc30b576333
eliminate code duplication in oct-conf-post.in.h and octave-config.h
John W. Eaton <jwe@octave.org>
parents:
diff
changeset
|
20 // You should have received a copy of the GNU General Public License |
fdc30b576333
eliminate code duplication in oct-conf-post.in.h and octave-config.h
John W. Eaton <jwe@octave.org>
parents:
diff
changeset
|
21 // along with Octave; see the file COPYING. If not, see |
fdc30b576333
eliminate code duplication in oct-conf-post.in.h and octave-config.h
John W. Eaton <jwe@octave.org>
parents:
diff
changeset
|
22 // <https://www.gnu.org/licenses/>. |
fdc30b576333
eliminate code duplication in oct-conf-post.in.h and octave-config.h
John W. Eaton <jwe@octave.org>
parents:
diff
changeset
|
23 // |
fdc30b576333
eliminate code duplication in oct-conf-post.in.h and octave-config.h
John W. Eaton <jwe@octave.org>
parents:
diff
changeset
|
24 //////////////////////////////////////////////////////////////////////// |
fdc30b576333
eliminate code duplication in oct-conf-post.in.h and octave-config.h
John W. Eaton <jwe@octave.org>
parents:
diff
changeset
|
25 |
fdc30b576333
eliminate code duplication in oct-conf-post.in.h and octave-config.h
John W. Eaton <jwe@octave.org>
parents:
diff
changeset
|
26 #if defined (__cplusplus) |
fdc30b576333
eliminate code duplication in oct-conf-post.in.h and octave-config.h
John W. Eaton <jwe@octave.org>
parents:
diff
changeset
|
27 # include <cinttypes> |
fdc30b576333
eliminate code duplication in oct-conf-post.in.h and octave-config.h
John W. Eaton <jwe@octave.org>
parents:
diff
changeset
|
28 #else |
fdc30b576333
eliminate code duplication in oct-conf-post.in.h and octave-config.h
John W. Eaton <jwe@octave.org>
parents:
diff
changeset
|
29 # include <inttypes.h> |
fdc30b576333
eliminate code duplication in oct-conf-post.in.h and octave-config.h
John W. Eaton <jwe@octave.org>
parents:
diff
changeset
|
30 #endif |
fdc30b576333
eliminate code duplication in oct-conf-post.in.h and octave-config.h
John W. Eaton <jwe@octave.org>
parents:
diff
changeset
|
31 |
31605
e88a07dec498
maint: Use macros to begin/end C++ namespaces.
Rik <rik@octave.org>
parents:
31487
diff
changeset
|
32 #define OCTAVE_BEGIN_NAMESPACE(name) namespace name { |
e88a07dec498
maint: Use macros to begin/end C++ namespaces.
Rik <rik@octave.org>
parents:
31487
diff
changeset
|
33 #define OCTAVE_END_NAMESPACE(name) } |
30580
fdc30b576333
eliminate code duplication in oct-conf-post.in.h and octave-config.h
John W. Eaton <jwe@octave.org>
parents:
diff
changeset
|
34 |
33161
e86c59dac135
Backed out changeset c23152b00d5f
John W. Eaton <jwe@octave.org>
parents:
33156
diff
changeset
|
35 /* The C++ standard is evolving to allow attribute hints in a |
e86c59dac135
Backed out changeset c23152b00d5f
John W. Eaton <jwe@octave.org>
parents:
33156
diff
changeset
|
36 compiler-independent manner. In C++ 2011 support for noreturn was |
e86c59dac135
Backed out changeset c23152b00d5f
John W. Eaton <jwe@octave.org>
parents:
33156
diff
changeset
|
37 added. In C++ 2014 support for deprecated was added. The Octave |
e86c59dac135
Backed out changeset c23152b00d5f
John W. Eaton <jwe@octave.org>
parents:
33156
diff
changeset
|
38 code base has been future-proofed by using macros of the form |
e86c59dac135
Backed out changeset c23152b00d5f
John W. Eaton <jwe@octave.org>
parents:
33156
diff
changeset
|
39 OCTAVE_ATTRIBUTE_NAME in place of vendor specific attribute |
e86c59dac135
Backed out changeset c23152b00d5f
John W. Eaton <jwe@octave.org>
parents:
33156
diff
changeset
|
40 mechanisms. As compilers evolve, the underlying implementation can |
e86c59dac135
Backed out changeset c23152b00d5f
John W. Eaton <jwe@octave.org>
parents:
33156
diff
changeset
|
41 be changed with the macro definitions below. FIXME: Update macros |
e86c59dac135
Backed out changeset c23152b00d5f
John W. Eaton <jwe@octave.org>
parents:
33156
diff
changeset
|
42 to use C++ standard attribute syntax when Octave moves to C++ 2014 |
e86c59dac135
Backed out changeset c23152b00d5f
John W. Eaton <jwe@octave.org>
parents:
33156
diff
changeset
|
43 standard. */ |
30580
fdc30b576333
eliminate code duplication in oct-conf-post.in.h and octave-config.h
John W. Eaton <jwe@octave.org>
parents:
diff
changeset
|
44 |
fdc30b576333
eliminate code duplication in oct-conf-post.in.h and octave-config.h
John W. Eaton <jwe@octave.org>
parents:
diff
changeset
|
45 #if defined (__GNUC__) |
33161
e86c59dac135
Backed out changeset c23152b00d5f
John W. Eaton <jwe@octave.org>
parents:
33156
diff
changeset
|
46 /* The following attributes are used with gcc and clang compilers. */ |
e86c59dac135
Backed out changeset c23152b00d5f
John W. Eaton <jwe@octave.org>
parents:
33156
diff
changeset
|
47 # if __GNUC__ > 4 || (__GNUC__ == 4 && __GNUC_MINOR__ >= 5) |
e86c59dac135
Backed out changeset c23152b00d5f
John W. Eaton <jwe@octave.org>
parents:
33156
diff
changeset
|
48 # define OCTAVE_DEPRECATED(ver, msg) __attribute__ ((__deprecated__ ("[" #ver "]: " msg))) |
e86c59dac135
Backed out changeset c23152b00d5f
John W. Eaton <jwe@octave.org>
parents:
33156
diff
changeset
|
49 # else |
e86c59dac135
Backed out changeset c23152b00d5f
John W. Eaton <jwe@octave.org>
parents:
33156
diff
changeset
|
50 # define OCTAVE_DEPRECATED(ver, msg) __attribute__ ((__deprecated__)) |
30580
fdc30b576333
eliminate code duplication in oct-conf-post.in.h and octave-config.h
John W. Eaton <jwe@octave.org>
parents:
diff
changeset
|
51 # endif |
fdc30b576333
eliminate code duplication in oct-conf-post.in.h and octave-config.h
John W. Eaton <jwe@octave.org>
parents:
diff
changeset
|
52 # define HAVE_OCTAVE_DEPRECATED_ATTR 1 |
fdc30b576333
eliminate code duplication in oct-conf-post.in.h and octave-config.h
John W. Eaton <jwe@octave.org>
parents:
diff
changeset
|
53 |
33161
e86c59dac135
Backed out changeset c23152b00d5f
John W. Eaton <jwe@octave.org>
parents:
33156
diff
changeset
|
54 # define OCTAVE_NORETURN __attribute__ ((__noreturn__)) |
e86c59dac135
Backed out changeset c23152b00d5f
John W. Eaton <jwe@octave.org>
parents:
33156
diff
changeset
|
55 # define HAVE_OCTAVE_NORETURN_ATTR 1 |
30580
fdc30b576333
eliminate code duplication in oct-conf-post.in.h and octave-config.h
John W. Eaton <jwe@octave.org>
parents:
diff
changeset
|
56 |
33161
e86c59dac135
Backed out changeset c23152b00d5f
John W. Eaton <jwe@octave.org>
parents:
33156
diff
changeset
|
57 # define OCTAVE_UNUSED __attribute__ ((__unused__)) |
e86c59dac135
Backed out changeset c23152b00d5f
John W. Eaton <jwe@octave.org>
parents:
33156
diff
changeset
|
58 # define HAVE_OCTAVE_UNUSED_ATTR 1 |
30580
fdc30b576333
eliminate code duplication in oct-conf-post.in.h and octave-config.h
John W. Eaton <jwe@octave.org>
parents:
diff
changeset
|
59 #else |
fdc30b576333
eliminate code duplication in oct-conf-post.in.h and octave-config.h
John W. Eaton <jwe@octave.org>
parents:
diff
changeset
|
60 # define OCTAVE_DEPRECATED(ver, msg) |
fdc30b576333
eliminate code duplication in oct-conf-post.in.h and octave-config.h
John W. Eaton <jwe@octave.org>
parents:
diff
changeset
|
61 # define OCTAVE_NORETURN |
fdc30b576333
eliminate code duplication in oct-conf-post.in.h and octave-config.h
John W. Eaton <jwe@octave.org>
parents:
diff
changeset
|
62 # define OCTAVE_UNUSED |
fdc30b576333
eliminate code duplication in oct-conf-post.in.h and octave-config.h
John W. Eaton <jwe@octave.org>
parents:
diff
changeset
|
63 |
fdc30b576333
eliminate code duplication in oct-conf-post.in.h and octave-config.h
John W. Eaton <jwe@octave.org>
parents:
diff
changeset
|
64 /* # undef HAVE_OCTAVE_DEPRECATED_ATTR */ |
fdc30b576333
eliminate code duplication in oct-conf-post.in.h and octave-config.h
John W. Eaton <jwe@octave.org>
parents:
diff
changeset
|
65 /* # undef HAVE_OCTAVE_NORETURN_ATTR */ |
fdc30b576333
eliminate code duplication in oct-conf-post.in.h and octave-config.h
John W. Eaton <jwe@octave.org>
parents:
diff
changeset
|
66 /* # undef HAVE_OCTAVE_UNUSED_ATTR */ |
fdc30b576333
eliminate code duplication in oct-conf-post.in.h and octave-config.h
John W. Eaton <jwe@octave.org>
parents:
diff
changeset
|
67 #endif |
fdc30b576333
eliminate code duplication in oct-conf-post.in.h and octave-config.h
John W. Eaton <jwe@octave.org>
parents:
diff
changeset
|
68 |
32118
61d014959a8b
new OCTAVE_LIKELY and OCTAVE_UNLIKELY macros
Petter T. <petter.vilhelm@gmail.com>
parents:
31883
diff
changeset
|
69 /* Branch hint macros for use in if condititions. |
33161
e86c59dac135
Backed out changeset c23152b00d5f
John W. Eaton <jwe@octave.org>
parents:
33156
diff
changeset
|
70 Returns logical value of x. */ |
32118
61d014959a8b
new OCTAVE_LIKELY and OCTAVE_UNLIKELY macros
Petter T. <petter.vilhelm@gmail.com>
parents:
31883
diff
changeset
|
71 #if defined (__GNUC__) |
61d014959a8b
new OCTAVE_LIKELY and OCTAVE_UNLIKELY macros
Petter T. <petter.vilhelm@gmail.com>
parents:
31883
diff
changeset
|
72 # define OCTAVE_LIKELY(x) __builtin_expect (!!(x), 1) |
61d014959a8b
new OCTAVE_LIKELY and OCTAVE_UNLIKELY macros
Petter T. <petter.vilhelm@gmail.com>
parents:
31883
diff
changeset
|
73 # define OCTAVE_UNLIKELY(x) __builtin_expect (!!(x), 0) |
61d014959a8b
new OCTAVE_LIKELY and OCTAVE_UNLIKELY macros
Petter T. <petter.vilhelm@gmail.com>
parents:
31883
diff
changeset
|
74 #else |
61d014959a8b
new OCTAVE_LIKELY and OCTAVE_UNLIKELY macros
Petter T. <petter.vilhelm@gmail.com>
parents:
31883
diff
changeset
|
75 # define OCTAVE_LIKELY(x) !!(x) |
61d014959a8b
new OCTAVE_LIKELY and OCTAVE_UNLIKELY macros
Petter T. <petter.vilhelm@gmail.com>
parents:
31883
diff
changeset
|
76 # define OCTAVE_UNLIKELY(x) !!(x) |
61d014959a8b
new OCTAVE_LIKELY and OCTAVE_UNLIKELY macros
Petter T. <petter.vilhelm@gmail.com>
parents:
31883
diff
changeset
|
77 #endif |
61d014959a8b
new OCTAVE_LIKELY and OCTAVE_UNLIKELY macros
Petter T. <petter.vilhelm@gmail.com>
parents:
31883
diff
changeset
|
78 |
30580
fdc30b576333
eliminate code duplication in oct-conf-post.in.h and octave-config.h
John W. Eaton <jwe@octave.org>
parents:
diff
changeset
|
79 #if defined (__MINGW32__) |
fdc30b576333
eliminate code duplication in oct-conf-post.in.h and octave-config.h
John W. Eaton <jwe@octave.org>
parents:
diff
changeset
|
80 /* MinGW requires special handling due to different format specifiers |
fdc30b576333
eliminate code duplication in oct-conf-post.in.h and octave-config.h
John W. Eaton <jwe@octave.org>
parents:
diff
changeset
|
81 * on different platforms. The macro __MINGW_PRINTF_FORMAT maps to |
fdc30b576333
eliminate code duplication in oct-conf-post.in.h and octave-config.h
John W. Eaton <jwe@octave.org>
parents:
diff
changeset
|
82 * either gnu_printf or ms_printf depending on where we are compiling |
fdc30b576333
eliminate code duplication in oct-conf-post.in.h and octave-config.h
John W. Eaton <jwe@octave.org>
parents:
diff
changeset
|
83 * to avoid warnings on format specifiers that are legal. |
fdc30b576333
eliminate code duplication in oct-conf-post.in.h and octave-config.h
John W. Eaton <jwe@octave.org>
parents:
diff
changeset
|
84 * See: https://bugzilla.mozilla.org/show_bug.cgi?id=1331349 */ |
fdc30b576333
eliminate code duplication in oct-conf-post.in.h and octave-config.h
John W. Eaton <jwe@octave.org>
parents:
diff
changeset
|
85 # if defined (__cplusplus) |
fdc30b576333
eliminate code duplication in oct-conf-post.in.h and octave-config.h
John W. Eaton <jwe@octave.org>
parents:
diff
changeset
|
86 # include <cstdio> |
fdc30b576333
eliminate code duplication in oct-conf-post.in.h and octave-config.h
John W. Eaton <jwe@octave.org>
parents:
diff
changeset
|
87 # else |
fdc30b576333
eliminate code duplication in oct-conf-post.in.h and octave-config.h
John W. Eaton <jwe@octave.org>
parents:
diff
changeset
|
88 # include <stdio.h> |
fdc30b576333
eliminate code duplication in oct-conf-post.in.h and octave-config.h
John W. Eaton <jwe@octave.org>
parents:
diff
changeset
|
89 # endif |
fdc30b576333
eliminate code duplication in oct-conf-post.in.h and octave-config.h
John W. Eaton <jwe@octave.org>
parents:
diff
changeset
|
90 |
fdc30b576333
eliminate code duplication in oct-conf-post.in.h and octave-config.h
John W. Eaton <jwe@octave.org>
parents:
diff
changeset
|
91 # define OCTAVE_FORMAT_PRINTF(stringIndex, firstToCheck) \ |
fdc30b576333
eliminate code duplication in oct-conf-post.in.h and octave-config.h
John W. Eaton <jwe@octave.org>
parents:
diff
changeset
|
92 __attribute__ ((format (__MINGW_PRINTF_FORMAT, stringIndex, firstToCheck))) |
fdc30b576333
eliminate code duplication in oct-conf-post.in.h and octave-config.h
John W. Eaton <jwe@octave.org>
parents:
diff
changeset
|
93 |
fdc30b576333
eliminate code duplication in oct-conf-post.in.h and octave-config.h
John W. Eaton <jwe@octave.org>
parents:
diff
changeset
|
94 # define HAVE_OCTAVE_FORMAT_PRINTF_ATTR 1 |
fdc30b576333
eliminate code duplication in oct-conf-post.in.h and octave-config.h
John W. Eaton <jwe@octave.org>
parents:
diff
changeset
|
95 #elif defined (__GNUC__) |
fdc30b576333
eliminate code duplication in oct-conf-post.in.h and octave-config.h
John W. Eaton <jwe@octave.org>
parents:
diff
changeset
|
96 /* The following attributes are used with gcc and clang compilers. */ |
fdc30b576333
eliminate code duplication in oct-conf-post.in.h and octave-config.h
John W. Eaton <jwe@octave.org>
parents:
diff
changeset
|
97 # define OCTAVE_FORMAT_PRINTF(index, first) \ |
fdc30b576333
eliminate code duplication in oct-conf-post.in.h and octave-config.h
John W. Eaton <jwe@octave.org>
parents:
diff
changeset
|
98 __attribute__ ((__format__(printf, index, first))) |
fdc30b576333
eliminate code duplication in oct-conf-post.in.h and octave-config.h
John W. Eaton <jwe@octave.org>
parents:
diff
changeset
|
99 |
fdc30b576333
eliminate code duplication in oct-conf-post.in.h and octave-config.h
John W. Eaton <jwe@octave.org>
parents:
diff
changeset
|
100 # define HAVE_OCTAVE_FORMAT_PRINTF_ATTR 1 |
fdc30b576333
eliminate code duplication in oct-conf-post.in.h and octave-config.h
John W. Eaton <jwe@octave.org>
parents:
diff
changeset
|
101 #else |
fdc30b576333
eliminate code duplication in oct-conf-post.in.h and octave-config.h
John W. Eaton <jwe@octave.org>
parents:
diff
changeset
|
102 # define OCTAVE_FORMAT_PRINTF(index, first) |
fdc30b576333
eliminate code duplication in oct-conf-post.in.h and octave-config.h
John W. Eaton <jwe@octave.org>
parents:
diff
changeset
|
103 |
fdc30b576333
eliminate code duplication in oct-conf-post.in.h and octave-config.h
John W. Eaton <jwe@octave.org>
parents:
diff
changeset
|
104 /* # undef HAVE_OCTAVE_FORMAT_PRINTF_ATTR */ |
fdc30b576333
eliminate code duplication in oct-conf-post.in.h and octave-config.h
John W. Eaton <jwe@octave.org>
parents:
diff
changeset
|
105 #endif |
fdc30b576333
eliminate code duplication in oct-conf-post.in.h and octave-config.h
John W. Eaton <jwe@octave.org>
parents:
diff
changeset
|
106 |
33161
e86c59dac135
Backed out changeset c23152b00d5f
John W. Eaton <jwe@octave.org>
parents:
33156
diff
changeset
|
107 #if ! defined (OCTAVE_FALLTHROUGH) |
e86c59dac135
Backed out changeset c23152b00d5f
John W. Eaton <jwe@octave.org>
parents:
33156
diff
changeset
|
108 # if defined (__cplusplus) && __cplusplus > 201402L |
e86c59dac135
Backed out changeset c23152b00d5f
John W. Eaton <jwe@octave.org>
parents:
33156
diff
changeset
|
109 # define OCTAVE_FALLTHROUGH [[fallthrough]] |
e86c59dac135
Backed out changeset c23152b00d5f
John W. Eaton <jwe@octave.org>
parents:
33156
diff
changeset
|
110 # elif defined (__GNUC__) && __GNUC__ < 7 |
e86c59dac135
Backed out changeset c23152b00d5f
John W. Eaton <jwe@octave.org>
parents:
33156
diff
changeset
|
111 # define OCTAVE_FALLTHROUGH ((void) 0) |
e86c59dac135
Backed out changeset c23152b00d5f
John W. Eaton <jwe@octave.org>
parents:
33156
diff
changeset
|
112 # else |
e86c59dac135
Backed out changeset c23152b00d5f
John W. Eaton <jwe@octave.org>
parents:
33156
diff
changeset
|
113 # define OCTAVE_FALLTHROUGH __attribute__ ((__fallthrough__)) |
e86c59dac135
Backed out changeset c23152b00d5f
John W. Eaton <jwe@octave.org>
parents:
33156
diff
changeset
|
114 # endif |
e86c59dac135
Backed out changeset c23152b00d5f
John W. Eaton <jwe@octave.org>
parents:
33156
diff
changeset
|
115 #endif |
e86c59dac135
Backed out changeset c23152b00d5f
John W. Eaton <jwe@octave.org>
parents:
33156
diff
changeset
|
116 |
30580
fdc30b576333
eliminate code duplication in oct-conf-post.in.h and octave-config.h
John W. Eaton <jwe@octave.org>
parents:
diff
changeset
|
117 #if defined (__cplusplus) |
fdc30b576333
eliminate code duplication in oct-conf-post.in.h and octave-config.h
John W. Eaton <jwe@octave.org>
parents:
diff
changeset
|
118 template <typename T> |
fdc30b576333
eliminate code duplication in oct-conf-post.in.h and octave-config.h
John W. Eaton <jwe@octave.org>
parents:
diff
changeset
|
119 static inline void |
fdc30b576333
eliminate code duplication in oct-conf-post.in.h and octave-config.h
John W. Eaton <jwe@octave.org>
parents:
diff
changeset
|
120 octave_unused_parameter (const T&) |
fdc30b576333
eliminate code duplication in oct-conf-post.in.h and octave-config.h
John W. Eaton <jwe@octave.org>
parents:
diff
changeset
|
121 { } |
fdc30b576333
eliminate code duplication in oct-conf-post.in.h and octave-config.h
John W. Eaton <jwe@octave.org>
parents:
diff
changeset
|
122 #else |
fdc30b576333
eliminate code duplication in oct-conf-post.in.h and octave-config.h
John W. Eaton <jwe@octave.org>
parents:
diff
changeset
|
123 # define octave_unused_parameter(param) (void) param; |
fdc30b576333
eliminate code duplication in oct-conf-post.in.h and octave-config.h
John W. Eaton <jwe@octave.org>
parents:
diff
changeset
|
124 #endif |
fdc30b576333
eliminate code duplication in oct-conf-post.in.h and octave-config.h
John W. Eaton <jwe@octave.org>
parents:
diff
changeset
|
125 |
fdc30b576333
eliminate code duplication in oct-conf-post.in.h and octave-config.h
John W. Eaton <jwe@octave.org>
parents:
diff
changeset
|
126 #if defined (OCTAVE_ENABLE_LIB_VISIBILITY_FLAGS) |
fdc30b576333
eliminate code duplication in oct-conf-post.in.h and octave-config.h
John W. Eaton <jwe@octave.org>
parents:
diff
changeset
|
127 # if defined (_WIN32) || defined (__CYGWIN__) |
fdc30b576333
eliminate code duplication in oct-conf-post.in.h and octave-config.h
John W. Eaton <jwe@octave.org>
parents:
diff
changeset
|
128 # if defined (__GNUC__) |
fdc30b576333
eliminate code duplication in oct-conf-post.in.h and octave-config.h
John W. Eaton <jwe@octave.org>
parents:
diff
changeset
|
129 /* GCC */ |
fdc30b576333
eliminate code duplication in oct-conf-post.in.h and octave-config.h
John W. Eaton <jwe@octave.org>
parents:
diff
changeset
|
130 # define OCTAVE_EXPORT __attribute__ ((dllexport)) |
fdc30b576333
eliminate code duplication in oct-conf-post.in.h and octave-config.h
John W. Eaton <jwe@octave.org>
parents:
diff
changeset
|
131 # define OCTAVE_IMPORT __attribute__ ((dllimport)) |
fdc30b576333
eliminate code duplication in oct-conf-post.in.h and octave-config.h
John W. Eaton <jwe@octave.org>
parents:
diff
changeset
|
132 # else |
fdc30b576333
eliminate code duplication in oct-conf-post.in.h and octave-config.h
John W. Eaton <jwe@octave.org>
parents:
diff
changeset
|
133 /* MSVC */ |
fdc30b576333
eliminate code duplication in oct-conf-post.in.h and octave-config.h
John W. Eaton <jwe@octave.org>
parents:
diff
changeset
|
134 # define OCTAVE_EXPORT __declspec(dllexport) |
fdc30b576333
eliminate code duplication in oct-conf-post.in.h and octave-config.h
John W. Eaton <jwe@octave.org>
parents:
diff
changeset
|
135 # define OCTAVE_IMPORT __declspec(dllimport) |
fdc30b576333
eliminate code duplication in oct-conf-post.in.h and octave-config.h
John W. Eaton <jwe@octave.org>
parents:
diff
changeset
|
136 # endif |
fdc30b576333
eliminate code duplication in oct-conf-post.in.h and octave-config.h
John W. Eaton <jwe@octave.org>
parents:
diff
changeset
|
137 # else |
fdc30b576333
eliminate code duplication in oct-conf-post.in.h and octave-config.h
John W. Eaton <jwe@octave.org>
parents:
diff
changeset
|
138 /* All other platforms. */ |
fdc30b576333
eliminate code duplication in oct-conf-post.in.h and octave-config.h
John W. Eaton <jwe@octave.org>
parents:
diff
changeset
|
139 # define OCTAVE_EXPORT __attribute__ ((visibility ("default"))) |
fdc30b576333
eliminate code duplication in oct-conf-post.in.h and octave-config.h
John W. Eaton <jwe@octave.org>
parents:
diff
changeset
|
140 # define OCTAVE_IMPORT |
fdc30b576333
eliminate code duplication in oct-conf-post.in.h and octave-config.h
John W. Eaton <jwe@octave.org>
parents:
diff
changeset
|
141 # endif |
fdc30b576333
eliminate code duplication in oct-conf-post.in.h and octave-config.h
John W. Eaton <jwe@octave.org>
parents:
diff
changeset
|
142 #else |
fdc30b576333
eliminate code duplication in oct-conf-post.in.h and octave-config.h
John W. Eaton <jwe@octave.org>
parents:
diff
changeset
|
143 # define OCTAVE_EXPORT |
fdc30b576333
eliminate code duplication in oct-conf-post.in.h and octave-config.h
John W. Eaton <jwe@octave.org>
parents:
diff
changeset
|
144 # define OCTAVE_IMPORT |
fdc30b576333
eliminate code duplication in oct-conf-post.in.h and octave-config.h
John W. Eaton <jwe@octave.org>
parents:
diff
changeset
|
145 #endif |
fdc30b576333
eliminate code duplication in oct-conf-post.in.h and octave-config.h
John W. Eaton <jwe@octave.org>
parents:
diff
changeset
|
146 |
31400
e7fc6251b698
Use more specialized API flags for template classes (bug #61711).
Markus Mützel <markus.muetzel@gmx.de>
parents:
30827
diff
changeset
|
147 /* API macros for liboctave */ |
30580
fdc30b576333
eliminate code duplication in oct-conf-post.in.h and octave-config.h
John W. Eaton <jwe@octave.org>
parents:
diff
changeset
|
148 #if defined (OCTAVE_DLL) |
fdc30b576333
eliminate code duplication in oct-conf-post.in.h and octave-config.h
John W. Eaton <jwe@octave.org>
parents:
diff
changeset
|
149 # define OCTAVE_API OCTAVE_EXPORT |
31487
2ec625c04947
Mark exceptions with default visibility also where they are used (bug #61704).
Markus Mützel <markus.muetzel@gmx.de>
parents:
31400
diff
changeset
|
150 # define OCTAVE_EXCEPTION_API OCTAVE_EXPORT |
31400
e7fc6251b698
Use more specialized API flags for template classes (bug #61711).
Markus Mützel <markus.muetzel@gmx.de>
parents:
30827
diff
changeset
|
151 # if defined (_WIN32) || defined (__CYGWIN__) |
e7fc6251b698
Use more specialized API flags for template classes (bug #61711).
Markus Mützel <markus.muetzel@gmx.de>
parents:
30827
diff
changeset
|
152 # define OCTAVE_TEMPLATE_API |
33168
e20624df2cd2
minor whitespace style fix
John W. Eaton <jwe@octave.org>
parents:
33161
diff
changeset
|
153 # if defined (__MINGW32__) |
31400
e7fc6251b698
Use more specialized API flags for template classes (bug #61711).
Markus Mützel <markus.muetzel@gmx.de>
parents:
30827
diff
changeset
|
154 # define OCTAVE_EXTERN_TEMPLATE_API OCTAVE_EXPORT |
e7fc6251b698
Use more specialized API flags for template classes (bug #61711).
Markus Mützel <markus.muetzel@gmx.de>
parents:
30827
diff
changeset
|
155 # define OCTAVE_CLASS_TEMPLATE_INSTANTIATION_API |
e7fc6251b698
Use more specialized API flags for template classes (bug #61711).
Markus Mützel <markus.muetzel@gmx.de>
parents:
30827
diff
changeset
|
156 # else |
e7fc6251b698
Use more specialized API flags for template classes (bug #61711).
Markus Mützel <markus.muetzel@gmx.de>
parents:
30827
diff
changeset
|
157 # define OCTAVE_EXTERN_TEMPLATE_API |
e7fc6251b698
Use more specialized API flags for template classes (bug #61711).
Markus Mützel <markus.muetzel@gmx.de>
parents:
30827
diff
changeset
|
158 # define OCTAVE_CLASS_TEMPLATE_INSTANTIATION_API OCTAVE_EXPORT |
e7fc6251b698
Use more specialized API flags for template classes (bug #61711).
Markus Mützel <markus.muetzel@gmx.de>
parents:
30827
diff
changeset
|
159 # endif |
e7fc6251b698
Use more specialized API flags for template classes (bug #61711).
Markus Mützel <markus.muetzel@gmx.de>
parents:
30827
diff
changeset
|
160 # define OCTAVE_OVERRIDABLE_FUNC_API OCTAVE_EXPORT |
e7fc6251b698
Use more specialized API flags for template classes (bug #61711).
Markus Mützel <markus.muetzel@gmx.de>
parents:
30827
diff
changeset
|
161 # else |
e7fc6251b698
Use more specialized API flags for template classes (bug #61711).
Markus Mützel <markus.muetzel@gmx.de>
parents:
30827
diff
changeset
|
162 # define OCTAVE_TEMPLATE_API OCTAVE_EXPORT |
e7fc6251b698
Use more specialized API flags for template classes (bug #61711).
Markus Mützel <markus.muetzel@gmx.de>
parents:
30827
diff
changeset
|
163 # define OCTAVE_EXTERN_TEMPLATE_API OCTAVE_EXPORT |
e7fc6251b698
Use more specialized API flags for template classes (bug #61711).
Markus Mützel <markus.muetzel@gmx.de>
parents:
30827
diff
changeset
|
164 # define OCTAVE_CLASS_TEMPLATE_INSTANTIATION_API |
e7fc6251b698
Use more specialized API flags for template classes (bug #61711).
Markus Mützel <markus.muetzel@gmx.de>
parents:
30827
diff
changeset
|
165 # define OCTAVE_OVERRIDABLE_FUNC_API |
e7fc6251b698
Use more specialized API flags for template classes (bug #61711).
Markus Mützel <markus.muetzel@gmx.de>
parents:
30827
diff
changeset
|
166 # endif |
30580
fdc30b576333
eliminate code duplication in oct-conf-post.in.h and octave-config.h
John W. Eaton <jwe@octave.org>
parents:
diff
changeset
|
167 #else |
fdc30b576333
eliminate code duplication in oct-conf-post.in.h and octave-config.h
John W. Eaton <jwe@octave.org>
parents:
diff
changeset
|
168 # define OCTAVE_API OCTAVE_IMPORT |
31487
2ec625c04947
Mark exceptions with default visibility also where they are used (bug #61704).
Markus Mützel <markus.muetzel@gmx.de>
parents:
31400
diff
changeset
|
169 # if defined (_WIN32) || defined (__CYGWIN__) |
2ec625c04947
Mark exceptions with default visibility also where they are used (bug #61704).
Markus Mützel <markus.muetzel@gmx.de>
parents:
31400
diff
changeset
|
170 # define OCTAVE_EXCEPTION_API OCTAVE_IMPORT |
2ec625c04947
Mark exceptions with default visibility also where they are used (bug #61704).
Markus Mützel <markus.muetzel@gmx.de>
parents:
31400
diff
changeset
|
171 # else |
2ec625c04947
Mark exceptions with default visibility also where they are used (bug #61704).
Markus Mützel <markus.muetzel@gmx.de>
parents:
31400
diff
changeset
|
172 # define OCTAVE_EXCEPTION_API OCTAVE_EXPORT |
2ec625c04947
Mark exceptions with default visibility also where they are used (bug #61704).
Markus Mützel <markus.muetzel@gmx.de>
parents:
31400
diff
changeset
|
173 # endif |
31400
e7fc6251b698
Use more specialized API flags for template classes (bug #61711).
Markus Mützel <markus.muetzel@gmx.de>
parents:
30827
diff
changeset
|
174 # define OCTAVE_TEMPLATE_API |
e7fc6251b698
Use more specialized API flags for template classes (bug #61711).
Markus Mützel <markus.muetzel@gmx.de>
parents:
30827
diff
changeset
|
175 # define OCTAVE_EXTERN_TEMPLATE_API OCTAVE_IMPORT |
e7fc6251b698
Use more specialized API flags for template classes (bug #61711).
Markus Mützel <markus.muetzel@gmx.de>
parents:
30827
diff
changeset
|
176 # define OCTAVE_CLASS_TEMPLATE_INSTANTIATION_API |
e7fc6251b698
Use more specialized API flags for template classes (bug #61711).
Markus Mützel <markus.muetzel@gmx.de>
parents:
30827
diff
changeset
|
177 # define OCTAVE_OVERRIDABLE_FUNC_API |
30580
fdc30b576333
eliminate code duplication in oct-conf-post.in.h and octave-config.h
John W. Eaton <jwe@octave.org>
parents:
diff
changeset
|
178 #endif |
fdc30b576333
eliminate code duplication in oct-conf-post.in.h and octave-config.h
John W. Eaton <jwe@octave.org>
parents:
diff
changeset
|
179 |
31400
e7fc6251b698
Use more specialized API flags for template classes (bug #61711).
Markus Mützel <markus.muetzel@gmx.de>
parents:
30827
diff
changeset
|
180 /* API macros for liboctinterp */ |
30580
fdc30b576333
eliminate code duplication in oct-conf-post.in.h and octave-config.h
John W. Eaton <jwe@octave.org>
parents:
diff
changeset
|
181 #if defined (OCTINTERP_DLL) |
fdc30b576333
eliminate code duplication in oct-conf-post.in.h and octave-config.h
John W. Eaton <jwe@octave.org>
parents:
diff
changeset
|
182 # define OCTINTERP_API OCTAVE_EXPORT |
31487
2ec625c04947
Mark exceptions with default visibility also where they are used (bug #61704).
Markus Mützel <markus.muetzel@gmx.de>
parents:
31400
diff
changeset
|
183 # define OCTINTERP_EXCEPTION_API OCTAVE_EXPORT |
31400
e7fc6251b698
Use more specialized API flags for template classes (bug #61711).
Markus Mützel <markus.muetzel@gmx.de>
parents:
30827
diff
changeset
|
184 # if defined (_WIN32) || defined (__CYGWIN__) |
e7fc6251b698
Use more specialized API flags for template classes (bug #61711).
Markus Mützel <markus.muetzel@gmx.de>
parents:
30827
diff
changeset
|
185 # define OCTINTERP_TEMPLATE_API |
33168
e20624df2cd2
minor whitespace style fix
John W. Eaton <jwe@octave.org>
parents:
33161
diff
changeset
|
186 # if defined (__MINGW32__) |
31400
e7fc6251b698
Use more specialized API flags for template classes (bug #61711).
Markus Mützel <markus.muetzel@gmx.de>
parents:
30827
diff
changeset
|
187 # define OCTINTERP_EXTERN_TEMPLATE_API OCTAVE_EXPORT |
e7fc6251b698
Use more specialized API flags for template classes (bug #61711).
Markus Mützel <markus.muetzel@gmx.de>
parents:
30827
diff
changeset
|
188 # define OCTINTERP_CLASS_TEMPLATE_INSTANTIATION_API |
e7fc6251b698
Use more specialized API flags for template classes (bug #61711).
Markus Mützel <markus.muetzel@gmx.de>
parents:
30827
diff
changeset
|
189 # else |
e7fc6251b698
Use more specialized API flags for template classes (bug #61711).
Markus Mützel <markus.muetzel@gmx.de>
parents:
30827
diff
changeset
|
190 # define OCTINTERP_EXTERN_TEMPLATE_API |
e7fc6251b698
Use more specialized API flags for template classes (bug #61711).
Markus Mützel <markus.muetzel@gmx.de>
parents:
30827
diff
changeset
|
191 # define OCTINTERP_CLASS_TEMPLATE_INSTANTIATION_API OCTAVE_EXPORT |
e7fc6251b698
Use more specialized API flags for template classes (bug #61711).
Markus Mützel <markus.muetzel@gmx.de>
parents:
30827
diff
changeset
|
192 # endif |
e7fc6251b698
Use more specialized API flags for template classes (bug #61711).
Markus Mützel <markus.muetzel@gmx.de>
parents:
30827
diff
changeset
|
193 # define OCTINTERP_OVERRIDABLE_FUNC_API OCTAVE_EXPORT |
e7fc6251b698
Use more specialized API flags for template classes (bug #61711).
Markus Mützel <markus.muetzel@gmx.de>
parents:
30827
diff
changeset
|
194 # else |
e7fc6251b698
Use more specialized API flags for template classes (bug #61711).
Markus Mützel <markus.muetzel@gmx.de>
parents:
30827
diff
changeset
|
195 # define OCTINTERP_TEMPLATE_API OCTAVE_EXPORT |
e7fc6251b698
Use more specialized API flags for template classes (bug #61711).
Markus Mützel <markus.muetzel@gmx.de>
parents:
30827
diff
changeset
|
196 # define OCTINTERP_EXTERN_TEMPLATE_API OCTAVE_EXPORT |
e7fc6251b698
Use more specialized API flags for template classes (bug #61711).
Markus Mützel <markus.muetzel@gmx.de>
parents:
30827
diff
changeset
|
197 # define OCTINTERP_CLASS_TEMPLATE_INSTANTIATION_API |
e7fc6251b698
Use more specialized API flags for template classes (bug #61711).
Markus Mützel <markus.muetzel@gmx.de>
parents:
30827
diff
changeset
|
198 # define OCTINTERP_OVERRIDABLE_FUNC_API |
e7fc6251b698
Use more specialized API flags for template classes (bug #61711).
Markus Mützel <markus.muetzel@gmx.de>
parents:
30827
diff
changeset
|
199 # endif |
30580
fdc30b576333
eliminate code duplication in oct-conf-post.in.h and octave-config.h
John W. Eaton <jwe@octave.org>
parents:
diff
changeset
|
200 #else |
fdc30b576333
eliminate code duplication in oct-conf-post.in.h and octave-config.h
John W. Eaton <jwe@octave.org>
parents:
diff
changeset
|
201 # define OCTINTERP_API OCTAVE_IMPORT |
31487
2ec625c04947
Mark exceptions with default visibility also where they are used (bug #61704).
Markus Mützel <markus.muetzel@gmx.de>
parents:
31400
diff
changeset
|
202 # if defined (_WIN32) || defined (__CYGWIN__) |
2ec625c04947
Mark exceptions with default visibility also where they are used (bug #61704).
Markus Mützel <markus.muetzel@gmx.de>
parents:
31400
diff
changeset
|
203 # define OCTINTERP_EXCEPTION_API OCTAVE_IMPORT |
2ec625c04947
Mark exceptions with default visibility also where they are used (bug #61704).
Markus Mützel <markus.muetzel@gmx.de>
parents:
31400
diff
changeset
|
204 # else |
2ec625c04947
Mark exceptions with default visibility also where they are used (bug #61704).
Markus Mützel <markus.muetzel@gmx.de>
parents:
31400
diff
changeset
|
205 # define OCTINTERP_EXCEPTION_API OCTAVE_EXPORT |
2ec625c04947
Mark exceptions with default visibility also where they are used (bug #61704).
Markus Mützel <markus.muetzel@gmx.de>
parents:
31400
diff
changeset
|
206 # endif |
31400
e7fc6251b698
Use more specialized API flags for template classes (bug #61711).
Markus Mützel <markus.muetzel@gmx.de>
parents:
30827
diff
changeset
|
207 # define OCTINTERP_TEMPLATE_API |
e7fc6251b698
Use more specialized API flags for template classes (bug #61711).
Markus Mützel <markus.muetzel@gmx.de>
parents:
30827
diff
changeset
|
208 # define OCTINTERP_EXTERN_TEMPLATE_API OCTAVE_IMPORT |
e7fc6251b698
Use more specialized API flags for template classes (bug #61711).
Markus Mützel <markus.muetzel@gmx.de>
parents:
30827
diff
changeset
|
209 # define OCTINTERP_CLASS_TEMPLATE_INSTANTIATION_API |
e7fc6251b698
Use more specialized API flags for template classes (bug #61711).
Markus Mützel <markus.muetzel@gmx.de>
parents:
30827
diff
changeset
|
210 # define OCTINTERP_OVERRIDABLE_FUNC_API |
30580
fdc30b576333
eliminate code duplication in oct-conf-post.in.h and octave-config.h
John W. Eaton <jwe@octave.org>
parents:
diff
changeset
|
211 #endif |
fdc30b576333
eliminate code duplication in oct-conf-post.in.h and octave-config.h
John W. Eaton <jwe@octave.org>
parents:
diff
changeset
|
212 |
31400
e7fc6251b698
Use more specialized API flags for template classes (bug #61711).
Markus Mützel <markus.muetzel@gmx.de>
parents:
30827
diff
changeset
|
213 /* API macros for the Array class in liboctave and liboctinterp */ |
30580
fdc30b576333
eliminate code duplication in oct-conf-post.in.h and octave-config.h
John W. Eaton <jwe@octave.org>
parents:
diff
changeset
|
214 #if (defined (OCTAVE_DLL) || defined (OCTINTERP_DLL)) |
fdc30b576333
eliminate code duplication in oct-conf-post.in.h and octave-config.h
John W. Eaton <jwe@octave.org>
parents:
diff
changeset
|
215 # define OCTARRAY_API OCTAVE_EXPORT |
31487
2ec625c04947
Mark exceptions with default visibility also where they are used (bug #61704).
Markus Mützel <markus.muetzel@gmx.de>
parents:
31400
diff
changeset
|
216 # define OCTARRAY_EXCEPTION_API OCTAVE_EXPORT |
31400
e7fc6251b698
Use more specialized API flags for template classes (bug #61711).
Markus Mützel <markus.muetzel@gmx.de>
parents:
30827
diff
changeset
|
217 # if defined (_WIN32) || defined (__CYGWIN__) |
e7fc6251b698
Use more specialized API flags for template classes (bug #61711).
Markus Mützel <markus.muetzel@gmx.de>
parents:
30827
diff
changeset
|
218 # define OCTARRAY_TEMPLATE_API |
33168
e20624df2cd2
minor whitespace style fix
John W. Eaton <jwe@octave.org>
parents:
33161
diff
changeset
|
219 # if defined (__MINGW32__) |
31400
e7fc6251b698
Use more specialized API flags for template classes (bug #61711).
Markus Mützel <markus.muetzel@gmx.de>
parents:
30827
diff
changeset
|
220 # define OCTARRAY_EXTERN_TEMPLATE_API OCTAVE_EXPORT |
e7fc6251b698
Use more specialized API flags for template classes (bug #61711).
Markus Mützel <markus.muetzel@gmx.de>
parents:
30827
diff
changeset
|
221 # define OCTARRAY_CLASS_TEMPLATE_INSTANTIATION_API |
e7fc6251b698
Use more specialized API flags for template classes (bug #61711).
Markus Mützel <markus.muetzel@gmx.de>
parents:
30827
diff
changeset
|
222 # else |
e7fc6251b698
Use more specialized API flags for template classes (bug #61711).
Markus Mützel <markus.muetzel@gmx.de>
parents:
30827
diff
changeset
|
223 # define OCTARRAY_EXTERN_TEMPLATE_API |
e7fc6251b698
Use more specialized API flags for template classes (bug #61711).
Markus Mützel <markus.muetzel@gmx.de>
parents:
30827
diff
changeset
|
224 # define OCTARRAY_CLASS_TEMPLATE_INSTANTIATION_API OCTAVE_EXPORT |
e7fc6251b698
Use more specialized API flags for template classes (bug #61711).
Markus Mützel <markus.muetzel@gmx.de>
parents:
30827
diff
changeset
|
225 # endif |
e7fc6251b698
Use more specialized API flags for template classes (bug #61711).
Markus Mützel <markus.muetzel@gmx.de>
parents:
30827
diff
changeset
|
226 # define OCTARRAY_OVERRIDABLE_FUNC_API OCTAVE_EXPORT |
e7fc6251b698
Use more specialized API flags for template classes (bug #61711).
Markus Mützel <markus.muetzel@gmx.de>
parents:
30827
diff
changeset
|
227 # else |
e7fc6251b698
Use more specialized API flags for template classes (bug #61711).
Markus Mützel <markus.muetzel@gmx.de>
parents:
30827
diff
changeset
|
228 # define OCTARRAY_TEMPLATE_API OCTAVE_EXPORT |
e7fc6251b698
Use more specialized API flags for template classes (bug #61711).
Markus Mützel <markus.muetzel@gmx.de>
parents:
30827
diff
changeset
|
229 # define OCTARRAY_EXTERN_TEMPLATE_API OCTAVE_EXPORT |
e7fc6251b698
Use more specialized API flags for template classes (bug #61711).
Markus Mützel <markus.muetzel@gmx.de>
parents:
30827
diff
changeset
|
230 # define OCTARRAY_CLASS_TEMPLATE_INSTANTIATION_API |
e7fc6251b698
Use more specialized API flags for template classes (bug #61711).
Markus Mützel <markus.muetzel@gmx.de>
parents:
30827
diff
changeset
|
231 # define OCTARRAY_OVERRIDABLE_FUNC_API |
e7fc6251b698
Use more specialized API flags for template classes (bug #61711).
Markus Mützel <markus.muetzel@gmx.de>
parents:
30827
diff
changeset
|
232 # endif |
30580
fdc30b576333
eliminate code duplication in oct-conf-post.in.h and octave-config.h
John W. Eaton <jwe@octave.org>
parents:
diff
changeset
|
233 #else |
fdc30b576333
eliminate code duplication in oct-conf-post.in.h and octave-config.h
John W. Eaton <jwe@octave.org>
parents:
diff
changeset
|
234 # define OCTARRAY_API OCTAVE_IMPORT |
31487
2ec625c04947
Mark exceptions with default visibility also where they are used (bug #61704).
Markus Mützel <markus.muetzel@gmx.de>
parents:
31400
diff
changeset
|
235 # if defined (_WIN32) || defined (__CYGWIN__) |
2ec625c04947
Mark exceptions with default visibility also where they are used (bug #61704).
Markus Mützel <markus.muetzel@gmx.de>
parents:
31400
diff
changeset
|
236 # define OCTARRAY_EXCEPTION_API OCTAVE_IMPORT |
2ec625c04947
Mark exceptions with default visibility also where they are used (bug #61704).
Markus Mützel <markus.muetzel@gmx.de>
parents:
31400
diff
changeset
|
237 # else |
2ec625c04947
Mark exceptions with default visibility also where they are used (bug #61704).
Markus Mützel <markus.muetzel@gmx.de>
parents:
31400
diff
changeset
|
238 # define OCTARRAY_EXCEPTION_API OCTAVE_EXPORT |
2ec625c04947
Mark exceptions with default visibility also where they are used (bug #61704).
Markus Mützel <markus.muetzel@gmx.de>
parents:
31400
diff
changeset
|
239 # endif |
31400
e7fc6251b698
Use more specialized API flags for template classes (bug #61711).
Markus Mützel <markus.muetzel@gmx.de>
parents:
30827
diff
changeset
|
240 # define OCTARRAY_TEMPLATE_API |
e7fc6251b698
Use more specialized API flags for template classes (bug #61711).
Markus Mützel <markus.muetzel@gmx.de>
parents:
30827
diff
changeset
|
241 # define OCTARRAY_EXTERN_TEMPLATE_API OCTAVE_IMPORT |
e7fc6251b698
Use more specialized API flags for template classes (bug #61711).
Markus Mützel <markus.muetzel@gmx.de>
parents:
30827
diff
changeset
|
242 # define OCTARRAY_CLASS_TEMPLATE_INSTANTIATION_API |
e7fc6251b698
Use more specialized API flags for template classes (bug #61711).
Markus Mützel <markus.muetzel@gmx.de>
parents:
30827
diff
changeset
|
243 # define OCTARRAY_OVERRIDABLE_FUNC_API |
30580
fdc30b576333
eliminate code duplication in oct-conf-post.in.h and octave-config.h
John W. Eaton <jwe@octave.org>
parents:
diff
changeset
|
244 #endif |
fdc30b576333
eliminate code duplication in oct-conf-post.in.h and octave-config.h
John W. Eaton <jwe@octave.org>
parents:
diff
changeset
|
245 |
31400
e7fc6251b698
Use more specialized API flags for template classes (bug #61711).
Markus Mützel <markus.muetzel@gmx.de>
parents:
30827
diff
changeset
|
246 /* API macros for libinterp/graphics */ |
30580
fdc30b576333
eliminate code duplication in oct-conf-post.in.h and octave-config.h
John W. Eaton <jwe@octave.org>
parents:
diff
changeset
|
247 #if defined (OCTGRAPHICS_DLL) |
fdc30b576333
eliminate code duplication in oct-conf-post.in.h and octave-config.h
John W. Eaton <jwe@octave.org>
parents:
diff
changeset
|
248 # define OCTGRAPHICS_API OCTAVE_EXPORT |
31487
2ec625c04947
Mark exceptions with default visibility also where they are used (bug #61704).
Markus Mützel <markus.muetzel@gmx.de>
parents:
31400
diff
changeset
|
249 # define OCTGRAPHICS_EXCEPTION_API OCTAVE_EXPORT |
31400
e7fc6251b698
Use more specialized API flags for template classes (bug #61711).
Markus Mützel <markus.muetzel@gmx.de>
parents:
30827
diff
changeset
|
250 # if defined (_WIN32) || defined (__CYGWIN__) |
e7fc6251b698
Use more specialized API flags for template classes (bug #61711).
Markus Mützel <markus.muetzel@gmx.de>
parents:
30827
diff
changeset
|
251 # define OCTGRAPHICS_TEMPLATE_API |
33168
e20624df2cd2
minor whitespace style fix
John W. Eaton <jwe@octave.org>
parents:
33161
diff
changeset
|
252 # if defined (__MINGW32__) |
31400
e7fc6251b698
Use more specialized API flags for template classes (bug #61711).
Markus Mützel <markus.muetzel@gmx.de>
parents:
30827
diff
changeset
|
253 # define OCTGRAPHICS_EXTERN_TEMPLATE_API OCTAVE_EXPORT |
e7fc6251b698
Use more specialized API flags for template classes (bug #61711).
Markus Mützel <markus.muetzel@gmx.de>
parents:
30827
diff
changeset
|
254 # define OCTGRAPHICS_CLASS_TEMPLATE_INSTANTIATION_API |
e7fc6251b698
Use more specialized API flags for template classes (bug #61711).
Markus Mützel <markus.muetzel@gmx.de>
parents:
30827
diff
changeset
|
255 # else |
e7fc6251b698
Use more specialized API flags for template classes (bug #61711).
Markus Mützel <markus.muetzel@gmx.de>
parents:
30827
diff
changeset
|
256 # define OCTGRAPHICS_EXTERN_TEMPLATE_API |
e7fc6251b698
Use more specialized API flags for template classes (bug #61711).
Markus Mützel <markus.muetzel@gmx.de>
parents:
30827
diff
changeset
|
257 # define OCTGRAPHICS_CLASS_TEMPLATE_INSTANTIATION_API OCTAVE_EXPORT |
e7fc6251b698
Use more specialized API flags for template classes (bug #61711).
Markus Mützel <markus.muetzel@gmx.de>
parents:
30827
diff
changeset
|
258 # endif |
e7fc6251b698
Use more specialized API flags for template classes (bug #61711).
Markus Mützel <markus.muetzel@gmx.de>
parents:
30827
diff
changeset
|
259 # define OCTGRAPHICS_OVERRIDABLE_FUNC_API OCTAVE_EXPORT |
e7fc6251b698
Use more specialized API flags for template classes (bug #61711).
Markus Mützel <markus.muetzel@gmx.de>
parents:
30827
diff
changeset
|
260 # else |
e7fc6251b698
Use more specialized API flags for template classes (bug #61711).
Markus Mützel <markus.muetzel@gmx.de>
parents:
30827
diff
changeset
|
261 # define OCTGRAPHICS_TEMPLATE_API OCTAVE_EXPORT |
e7fc6251b698
Use more specialized API flags for template classes (bug #61711).
Markus Mützel <markus.muetzel@gmx.de>
parents:
30827
diff
changeset
|
262 # define OCTGRAPHICS_EXTERN_TEMPLATE_API OCTAVE_EXPORT |
e7fc6251b698
Use more specialized API flags for template classes (bug #61711).
Markus Mützel <markus.muetzel@gmx.de>
parents:
30827
diff
changeset
|
263 # define OCTGRAPHICS_CLASS_TEMPLATE_INSTANTIATION_API |
e7fc6251b698
Use more specialized API flags for template classes (bug #61711).
Markus Mützel <markus.muetzel@gmx.de>
parents:
30827
diff
changeset
|
264 # define OCTGRAPHICS_OVERRIDABLE_FUNC_API |
e7fc6251b698
Use more specialized API flags for template classes (bug #61711).
Markus Mützel <markus.muetzel@gmx.de>
parents:
30827
diff
changeset
|
265 # endif |
30580
fdc30b576333
eliminate code duplication in oct-conf-post.in.h and octave-config.h
John W. Eaton <jwe@octave.org>
parents:
diff
changeset
|
266 #else |
fdc30b576333
eliminate code duplication in oct-conf-post.in.h and octave-config.h
John W. Eaton <jwe@octave.org>
parents:
diff
changeset
|
267 # define OCTGRAPHICS_API OCTAVE_IMPORT |
31487
2ec625c04947
Mark exceptions with default visibility also where they are used (bug #61704).
Markus Mützel <markus.muetzel@gmx.de>
parents:
31400
diff
changeset
|
268 # if defined (_WIN32) || defined (__CYGWIN__) |
2ec625c04947
Mark exceptions with default visibility also where they are used (bug #61704).
Markus Mützel <markus.muetzel@gmx.de>
parents:
31400
diff
changeset
|
269 # define OCTGRAPHICS_EXCEPTION_API OCTAVE_IMPORT |
2ec625c04947
Mark exceptions with default visibility also where they are used (bug #61704).
Markus Mützel <markus.muetzel@gmx.de>
parents:
31400
diff
changeset
|
270 # else |
2ec625c04947
Mark exceptions with default visibility also where they are used (bug #61704).
Markus Mützel <markus.muetzel@gmx.de>
parents:
31400
diff
changeset
|
271 # define OCTGRAPHICS_EXCEPTION_API OCTAVE_EXPORT |
2ec625c04947
Mark exceptions with default visibility also where they are used (bug #61704).
Markus Mützel <markus.muetzel@gmx.de>
parents:
31400
diff
changeset
|
272 # endif |
31400
e7fc6251b698
Use more specialized API flags for template classes (bug #61711).
Markus Mützel <markus.muetzel@gmx.de>
parents:
30827
diff
changeset
|
273 # define OCTGRAPHICS_TEMPLATE_API |
e7fc6251b698
Use more specialized API flags for template classes (bug #61711).
Markus Mützel <markus.muetzel@gmx.de>
parents:
30827
diff
changeset
|
274 # define OCTGRAPHICS_EXTERN_TEMPLATE_API OCTAVE_IMPORT |
e7fc6251b698
Use more specialized API flags for template classes (bug #61711).
Markus Mützel <markus.muetzel@gmx.de>
parents:
30827
diff
changeset
|
275 # define OCTGRAPHICS_CLASS_TEMPLATE_INSTANTIATION_API |
e7fc6251b698
Use more specialized API flags for template classes (bug #61711).
Markus Mützel <markus.muetzel@gmx.de>
parents:
30827
diff
changeset
|
276 # define OCTGRAPHICS_OVERRIDABLE_FUNC_API |
30580
fdc30b576333
eliminate code duplication in oct-conf-post.in.h and octave-config.h
John W. Eaton <jwe@octave.org>
parents:
diff
changeset
|
277 #endif |
fdc30b576333
eliminate code duplication in oct-conf-post.in.h and octave-config.h
John W. Eaton <jwe@octave.org>
parents:
diff
changeset
|
278 |
31400
e7fc6251b698
Use more specialized API flags for template classes (bug #61711).
Markus Mützel <markus.muetzel@gmx.de>
parents:
30827
diff
changeset
|
279 /* API macros for libgui */ |
30580
fdc30b576333
eliminate code duplication in oct-conf-post.in.h and octave-config.h
John W. Eaton <jwe@octave.org>
parents:
diff
changeset
|
280 #if defined (OCTGUI_DLL) |
fdc30b576333
eliminate code duplication in oct-conf-post.in.h and octave-config.h
John W. Eaton <jwe@octave.org>
parents:
diff
changeset
|
281 # define OCTGUI_API OCTAVE_EXPORT |
31487
2ec625c04947
Mark exceptions with default visibility also where they are used (bug #61704).
Markus Mützel <markus.muetzel@gmx.de>
parents:
31400
diff
changeset
|
282 # define OCTGUI_EXCEPTION_API OCTAVE_EXPORT |
31400
e7fc6251b698
Use more specialized API flags for template classes (bug #61711).
Markus Mützel <markus.muetzel@gmx.de>
parents:
30827
diff
changeset
|
283 # if defined (_WIN32) || defined (__CYGWIN__) |
e7fc6251b698
Use more specialized API flags for template classes (bug #61711).
Markus Mützel <markus.muetzel@gmx.de>
parents:
30827
diff
changeset
|
284 # define OCTGUI_TEMPLATE_API |
33168
e20624df2cd2
minor whitespace style fix
John W. Eaton <jwe@octave.org>
parents:
33161
diff
changeset
|
285 # if defined (__MINGW32__) |
31400
e7fc6251b698
Use more specialized API flags for template classes (bug #61711).
Markus Mützel <markus.muetzel@gmx.de>
parents:
30827
diff
changeset
|
286 # define OCTGUI_EXTERN_TEMPLATE_API OCTAVE_EXPORT |
e7fc6251b698
Use more specialized API flags for template classes (bug #61711).
Markus Mützel <markus.muetzel@gmx.de>
parents:
30827
diff
changeset
|
287 # define OCTGUI_CLASS_TEMPLATE_INSTANTIATION_API |
e7fc6251b698
Use more specialized API flags for template classes (bug #61711).
Markus Mützel <markus.muetzel@gmx.de>
parents:
30827
diff
changeset
|
288 # else |
e7fc6251b698
Use more specialized API flags for template classes (bug #61711).
Markus Mützel <markus.muetzel@gmx.de>
parents:
30827
diff
changeset
|
289 # define OCTGUI_EXTERN_TEMPLATE_API |
e7fc6251b698
Use more specialized API flags for template classes (bug #61711).
Markus Mützel <markus.muetzel@gmx.de>
parents:
30827
diff
changeset
|
290 # define OCTGUI_CLASS_TEMPLATE_INSTANTIATION_API OCTAVE_EXPORT |
e7fc6251b698
Use more specialized API flags for template classes (bug #61711).
Markus Mützel <markus.muetzel@gmx.de>
parents:
30827
diff
changeset
|
291 # endif |
e7fc6251b698
Use more specialized API flags for template classes (bug #61711).
Markus Mützel <markus.muetzel@gmx.de>
parents:
30827
diff
changeset
|
292 # define OCTGUI_OVERRIDABLE_FUNC_API OCTAVE_EXPORT |
e7fc6251b698
Use more specialized API flags for template classes (bug #61711).
Markus Mützel <markus.muetzel@gmx.de>
parents:
30827
diff
changeset
|
293 # else |
e7fc6251b698
Use more specialized API flags for template classes (bug #61711).
Markus Mützel <markus.muetzel@gmx.de>
parents:
30827
diff
changeset
|
294 # define OCTGUI_TEMPLATE_API OCTAVE_EXPORT |
e7fc6251b698
Use more specialized API flags for template classes (bug #61711).
Markus Mützel <markus.muetzel@gmx.de>
parents:
30827
diff
changeset
|
295 # define OCTGUI_EXTERN_TEMPLATE_API OCTAVE_EXPORT |
e7fc6251b698
Use more specialized API flags for template classes (bug #61711).
Markus Mützel <markus.muetzel@gmx.de>
parents:
30827
diff
changeset
|
296 # define OCTGUI_CLASS_TEMPLATE_INSTANTIATION_API |
e7fc6251b698
Use more specialized API flags for template classes (bug #61711).
Markus Mützel <markus.muetzel@gmx.de>
parents:
30827
diff
changeset
|
297 # define OCTGUI_OVERRIDABLE_FUNC_API |
e7fc6251b698
Use more specialized API flags for template classes (bug #61711).
Markus Mützel <markus.muetzel@gmx.de>
parents:
30827
diff
changeset
|
298 # endif |
30580
fdc30b576333
eliminate code duplication in oct-conf-post.in.h and octave-config.h
John W. Eaton <jwe@octave.org>
parents:
diff
changeset
|
299 #else |
fdc30b576333
eliminate code duplication in oct-conf-post.in.h and octave-config.h
John W. Eaton <jwe@octave.org>
parents:
diff
changeset
|
300 # define OCTGUI_API OCTAVE_IMPORT |
31487
2ec625c04947
Mark exceptions with default visibility also where they are used (bug #61704).
Markus Mützel <markus.muetzel@gmx.de>
parents:
31400
diff
changeset
|
301 # if defined (_WIN32) || defined (__CYGWIN__) |
2ec625c04947
Mark exceptions with default visibility also where they are used (bug #61704).
Markus Mützel <markus.muetzel@gmx.de>
parents:
31400
diff
changeset
|
302 # define OCTGUI_EXCEPTION_API OCTAVE_IMPORT |
2ec625c04947
Mark exceptions with default visibility also where they are used (bug #61704).
Markus Mützel <markus.muetzel@gmx.de>
parents:
31400
diff
changeset
|
303 # else |
2ec625c04947
Mark exceptions with default visibility also where they are used (bug #61704).
Markus Mützel <markus.muetzel@gmx.de>
parents:
31400
diff
changeset
|
304 # define OCTGUI_EXCEPTION_API OCTAVE_EXPORT |
2ec625c04947
Mark exceptions with default visibility also where they are used (bug #61704).
Markus Mützel <markus.muetzel@gmx.de>
parents:
31400
diff
changeset
|
305 # endif |
31400
e7fc6251b698
Use more specialized API flags for template classes (bug #61711).
Markus Mützel <markus.muetzel@gmx.de>
parents:
30827
diff
changeset
|
306 # define OCTGUI_TEMPLATE_API |
e7fc6251b698
Use more specialized API flags for template classes (bug #61711).
Markus Mützel <markus.muetzel@gmx.de>
parents:
30827
diff
changeset
|
307 # define OCTGUI_EXTERN_TEMPLATE_API OCTAVE_IMPORT |
e7fc6251b698
Use more specialized API flags for template classes (bug #61711).
Markus Mützel <markus.muetzel@gmx.de>
parents:
30827
diff
changeset
|
308 # define OCTGUI_CLASS_TEMPLATE_INSTANTIATION_API |
e7fc6251b698
Use more specialized API flags for template classes (bug #61711).
Markus Mützel <markus.muetzel@gmx.de>
parents:
30827
diff
changeset
|
309 # define OCTGUI_OVERRIDABLE_FUNC_API |
30580
fdc30b576333
eliminate code duplication in oct-conf-post.in.h and octave-config.h
John W. Eaton <jwe@octave.org>
parents:
diff
changeset
|
310 #endif |
fdc30b576333
eliminate code duplication in oct-conf-post.in.h and octave-config.h
John W. Eaton <jwe@octave.org>
parents:
diff
changeset
|
311 |
fdc30b576333
eliminate code duplication in oct-conf-post.in.h and octave-config.h
John W. Eaton <jwe@octave.org>
parents:
diff
changeset
|
312 #if defined (OCTAVE_ENABLE_64) |
fdc30b576333
eliminate code duplication in oct-conf-post.in.h and octave-config.h
John W. Eaton <jwe@octave.org>
parents:
diff
changeset
|
313 # define OCTAVE_IDX_TYPE_FORMAT PRId64 |
fdc30b576333
eliminate code duplication in oct-conf-post.in.h and octave-config.h
John W. Eaton <jwe@octave.org>
parents:
diff
changeset
|
314 #else |
fdc30b576333
eliminate code duplication in oct-conf-post.in.h and octave-config.h
John W. Eaton <jwe@octave.org>
parents:
diff
changeset
|
315 # define OCTAVE_IDX_TYPE_FORMAT PRId32 |
fdc30b576333
eliminate code duplication in oct-conf-post.in.h and octave-config.h
John W. Eaton <jwe@octave.org>
parents:
diff
changeset
|
316 #endif |
fdc30b576333
eliminate code duplication in oct-conf-post.in.h and octave-config.h
John W. Eaton <jwe@octave.org>
parents:
diff
changeset
|
317 |
fdc30b576333
eliminate code duplication in oct-conf-post.in.h and octave-config.h
John W. Eaton <jwe@octave.org>
parents:
diff
changeset
|
318 #if OCTAVE_SIZEOF_F77_INT_TYPE == 8 |
fdc30b576333
eliminate code duplication in oct-conf-post.in.h and octave-config.h
John W. Eaton <jwe@octave.org>
parents:
diff
changeset
|
319 # define OCTAVE_F77_INT_TYPE_FORMAT PRId64 |
fdc30b576333
eliminate code duplication in oct-conf-post.in.h and octave-config.h
John W. Eaton <jwe@octave.org>
parents:
diff
changeset
|
320 #else |
fdc30b576333
eliminate code duplication in oct-conf-post.in.h and octave-config.h
John W. Eaton <jwe@octave.org>
parents:
diff
changeset
|
321 # define OCTAVE_F77_INT_TYPE_FORMAT PRId32 |
fdc30b576333
eliminate code duplication in oct-conf-post.in.h and octave-config.h
John W. Eaton <jwe@octave.org>
parents:
diff
changeset
|
322 #endif |
fdc30b576333
eliminate code duplication in oct-conf-post.in.h and octave-config.h
John W. Eaton <jwe@octave.org>
parents:
diff
changeset
|
323 |
fdc30b576333
eliminate code duplication in oct-conf-post.in.h and octave-config.h
John W. Eaton <jwe@octave.org>
parents:
diff
changeset
|
324 #define OCTAVE_HAVE_F77_INT_TYPE 1 |
fdc30b576333
eliminate code duplication in oct-conf-post.in.h and octave-config.h
John W. Eaton <jwe@octave.org>
parents:
diff
changeset
|
325 |
30827
3e395f6fc03a
maint: Merge stable to default.
Markus Mützel <markus.muetzel@gmx.de>
parents:
30580
diff
changeset
|
326 /* time type in API is always 64 bits wide */ |
3e395f6fc03a
maint: Merge stable to default.
Markus Mützel <markus.muetzel@gmx.de>
parents:
30580
diff
changeset
|
327 #define OCTAVE_TIME_T int64_t |
3e395f6fc03a
maint: Merge stable to default.
Markus Mützel <markus.muetzel@gmx.de>
parents:
30580
diff
changeset
|
328 |
30580
fdc30b576333
eliminate code duplication in oct-conf-post.in.h and octave-config.h
John W. Eaton <jwe@octave.org>
parents:
diff
changeset
|
329 #if defined (__cplusplus) && ! defined (OCTAVE_THREAD_LOCAL) |
fdc30b576333
eliminate code duplication in oct-conf-post.in.h and octave-config.h
John W. Eaton <jwe@octave.org>
parents:
diff
changeset
|
330 # define OCTAVE_THREAD_LOCAL |
fdc30b576333
eliminate code duplication in oct-conf-post.in.h and octave-config.h
John W. Eaton <jwe@octave.org>
parents:
diff
changeset
|
331 #endif |
fdc30b576333
eliminate code duplication in oct-conf-post.in.h and octave-config.h
John W. Eaton <jwe@octave.org>
parents:
diff
changeset
|
332 |
31836
2bf580e9f423
new macros for disabling class copy and move member functions
John W. Eaton <jwe@octave.org>
parents:
31707
diff
changeset
|
333 #if defined (__cplusplus) |
2bf580e9f423
new macros for disabling class copy and move member functions
John W. Eaton <jwe@octave.org>
parents:
31707
diff
changeset
|
334 # define OCTAVE_DISABLE_COPY(X) \ |
2bf580e9f423
new macros for disabling class copy and move member functions
John W. Eaton <jwe@octave.org>
parents:
31707
diff
changeset
|
335 X (const X&) = delete; \ |
2bf580e9f423
new macros for disabling class copy and move member functions
John W. Eaton <jwe@octave.org>
parents:
31707
diff
changeset
|
336 X& operator = (const X&) = delete; |
2bf580e9f423
new macros for disabling class copy and move member functions
John W. Eaton <jwe@octave.org>
parents:
31707
diff
changeset
|
337 |
2bf580e9f423
new macros for disabling class copy and move member functions
John W. Eaton <jwe@octave.org>
parents:
31707
diff
changeset
|
338 # define OCTAVE_DISABLE_MOVE(X) \ |
31853
5c046a512888
fix macro for disabling move ctor and assignment op
John W. Eaton <jwe@octave.org>
parents:
31836
diff
changeset
|
339 X (X&&) = delete; \ |
31836
2bf580e9f423
new macros for disabling class copy and move member functions
John W. Eaton <jwe@octave.org>
parents:
31707
diff
changeset
|
340 X (const X&&) = delete; \ |
31853
5c046a512888
fix macro for disabling move ctor and assignment op
John W. Eaton <jwe@octave.org>
parents:
31836
diff
changeset
|
341 X& operator = (X&&) = delete; \ |
31836
2bf580e9f423
new macros for disabling class copy and move member functions
John W. Eaton <jwe@octave.org>
parents:
31707
diff
changeset
|
342 X& operator = (const X&&) = delete; |
2bf580e9f423
new macros for disabling class copy and move member functions
John W. Eaton <jwe@octave.org>
parents:
31707
diff
changeset
|
343 |
2bf580e9f423
new macros for disabling class copy and move member functions
John W. Eaton <jwe@octave.org>
parents:
31707
diff
changeset
|
344 # define OCTAVE_DISABLE_COPY_MOVE(X) \ |
2bf580e9f423
new macros for disabling class copy and move member functions
John W. Eaton <jwe@octave.org>
parents:
31707
diff
changeset
|
345 OCTAVE_DISABLE_COPY (X) \ |
2bf580e9f423
new macros for disabling class copy and move member functions
John W. Eaton <jwe@octave.org>
parents:
31707
diff
changeset
|
346 OCTAVE_DISABLE_MOVE (X) |
31854
8c37bbe334d4
new macros for disabling and defining default ctors, dtors, and assign ops
John W. Eaton <jwe@octave.org>
parents:
31853
diff
changeset
|
347 |
31883
56809fe23e53
eliminate some clang warnings about defaulted functions being deleted
John W. Eaton <jwe@octave.org>
parents:
31854
diff
changeset
|
348 # define OCTAVE_DISABLE_COPY_MOVE_ASGN(X) \ |
56809fe23e53
eliminate some clang warnings about defaulted functions being deleted
John W. Eaton <jwe@octave.org>
parents:
31854
diff
changeset
|
349 X& operator = (const X&) = delete; \ |
56809fe23e53
eliminate some clang warnings about defaulted functions being deleted
John W. Eaton <jwe@octave.org>
parents:
31854
diff
changeset
|
350 X& operator = (X&&) = delete; \ |
56809fe23e53
eliminate some clang warnings about defaulted functions being deleted
John W. Eaton <jwe@octave.org>
parents:
31854
diff
changeset
|
351 X& operator = (const X&&) = delete; |
56809fe23e53
eliminate some clang warnings about defaulted functions being deleted
John W. Eaton <jwe@octave.org>
parents:
31854
diff
changeset
|
352 |
31854
8c37bbe334d4
new macros for disabling and defining default ctors, dtors, and assign ops
John W. Eaton <jwe@octave.org>
parents:
31853
diff
changeset
|
353 # define OCTAVE_DISABLE_CONSTRUCT_COPY_MOVE(X) \ |
8c37bbe334d4
new macros for disabling and defining default ctors, dtors, and assign ops
John W. Eaton <jwe@octave.org>
parents:
31853
diff
changeset
|
354 X () = delete; \ |
8c37bbe334d4
new macros for disabling and defining default ctors, dtors, and assign ops
John W. Eaton <jwe@octave.org>
parents:
31853
diff
changeset
|
355 OCTAVE_DISABLE_COPY (X) \ |
8c37bbe334d4
new macros for disabling and defining default ctors, dtors, and assign ops
John W. Eaton <jwe@octave.org>
parents:
31853
diff
changeset
|
356 OCTAVE_DISABLE_MOVE (X) |
8c37bbe334d4
new macros for disabling and defining default ctors, dtors, and assign ops
John W. Eaton <jwe@octave.org>
parents:
31853
diff
changeset
|
357 |
8c37bbe334d4
new macros for disabling and defining default ctors, dtors, and assign ops
John W. Eaton <jwe@octave.org>
parents:
31853
diff
changeset
|
358 # define OCTAVE_DISABLE_CONSTRUCT_COPY_MOVE_DELETE(X) \ |
8c37bbe334d4
new macros for disabling and defining default ctors, dtors, and assign ops
John W. Eaton <jwe@octave.org>
parents:
31853
diff
changeset
|
359 X () = delete; \ |
8c37bbe334d4
new macros for disabling and defining default ctors, dtors, and assign ops
John W. Eaton <jwe@octave.org>
parents:
31853
diff
changeset
|
360 OCTAVE_DISABLE_COPY (X) \ |
8c37bbe334d4
new macros for disabling and defining default ctors, dtors, and assign ops
John W. Eaton <jwe@octave.org>
parents:
31853
diff
changeset
|
361 OCTAVE_DISABLE_MOVE (X) \ |
8c37bbe334d4
new macros for disabling and defining default ctors, dtors, and assign ops
John W. Eaton <jwe@octave.org>
parents:
31853
diff
changeset
|
362 ~X () = delete; |
8c37bbe334d4
new macros for disabling and defining default ctors, dtors, and assign ops
John W. Eaton <jwe@octave.org>
parents:
31853
diff
changeset
|
363 |
8c37bbe334d4
new macros for disabling and defining default ctors, dtors, and assign ops
John W. Eaton <jwe@octave.org>
parents:
31853
diff
changeset
|
364 # define OCTAVE_DEFAULT_COPY(X) \ |
8c37bbe334d4
new macros for disabling and defining default ctors, dtors, and assign ops
John W. Eaton <jwe@octave.org>
parents:
31853
diff
changeset
|
365 X (const X&) = default; \ |
8c37bbe334d4
new macros for disabling and defining default ctors, dtors, and assign ops
John W. Eaton <jwe@octave.org>
parents:
31853
diff
changeset
|
366 X& operator = (const X&) = default; |
8c37bbe334d4
new macros for disabling and defining default ctors, dtors, and assign ops
John W. Eaton <jwe@octave.org>
parents:
31853
diff
changeset
|
367 |
8c37bbe334d4
new macros for disabling and defining default ctors, dtors, and assign ops
John W. Eaton <jwe@octave.org>
parents:
31853
diff
changeset
|
368 # define OCTAVE_DEFAULT_MOVE(X) \ |
8c37bbe334d4
new macros for disabling and defining default ctors, dtors, and assign ops
John W. Eaton <jwe@octave.org>
parents:
31853
diff
changeset
|
369 X (X&&) = default; \ |
8c37bbe334d4
new macros for disabling and defining default ctors, dtors, and assign ops
John W. Eaton <jwe@octave.org>
parents:
31853
diff
changeset
|
370 X& operator = (X&&) = default; |
8c37bbe334d4
new macros for disabling and defining default ctors, dtors, and assign ops
John W. Eaton <jwe@octave.org>
parents:
31853
diff
changeset
|
371 |
8c37bbe334d4
new macros for disabling and defining default ctors, dtors, and assign ops
John W. Eaton <jwe@octave.org>
parents:
31853
diff
changeset
|
372 # define OCTAVE_DEFAULT_COPY_MOVE(X) \ |
8c37bbe334d4
new macros for disabling and defining default ctors, dtors, and assign ops
John W. Eaton <jwe@octave.org>
parents:
31853
diff
changeset
|
373 OCTAVE_DEFAULT_COPY (X) \ |
8c37bbe334d4
new macros for disabling and defining default ctors, dtors, and assign ops
John W. Eaton <jwe@octave.org>
parents:
31853
diff
changeset
|
374 OCTAVE_DEFAULT_MOVE (X) |
8c37bbe334d4
new macros for disabling and defining default ctors, dtors, and assign ops
John W. Eaton <jwe@octave.org>
parents:
31853
diff
changeset
|
375 |
31883
56809fe23e53
eliminate some clang warnings about defaulted functions being deleted
John W. Eaton <jwe@octave.org>
parents:
31854
diff
changeset
|
376 # define OCTAVE_DEFAULT_COPY_MOVE_CTOR(X) \ |
56809fe23e53
eliminate some clang warnings about defaulted functions being deleted
John W. Eaton <jwe@octave.org>
parents:
31854
diff
changeset
|
377 X (const X&) = default; \ |
56809fe23e53
eliminate some clang warnings about defaulted functions being deleted
John W. Eaton <jwe@octave.org>
parents:
31854
diff
changeset
|
378 X (X&&) = default; |
56809fe23e53
eliminate some clang warnings about defaulted functions being deleted
John W. Eaton <jwe@octave.org>
parents:
31854
diff
changeset
|
379 |
31854
8c37bbe334d4
new macros for disabling and defining default ctors, dtors, and assign ops
John W. Eaton <jwe@octave.org>
parents:
31853
diff
changeset
|
380 # define OCTAVE_DEFAULT_CONSTRUCT_COPY(X) \ |
8c37bbe334d4
new macros for disabling and defining default ctors, dtors, and assign ops
John W. Eaton <jwe@octave.org>
parents:
31853
diff
changeset
|
381 X () = default; \ |
8c37bbe334d4
new macros for disabling and defining default ctors, dtors, and assign ops
John W. Eaton <jwe@octave.org>
parents:
31853
diff
changeset
|
382 OCTAVE_DEFAULT_COPY (X) |
8c37bbe334d4
new macros for disabling and defining default ctors, dtors, and assign ops
John W. Eaton <jwe@octave.org>
parents:
31853
diff
changeset
|
383 |
8c37bbe334d4
new macros for disabling and defining default ctors, dtors, and assign ops
John W. Eaton <jwe@octave.org>
parents:
31853
diff
changeset
|
384 # define OCTAVE_DEFAULT_CONSTRUCT_COPY_MOVE(X) \ |
8c37bbe334d4
new macros for disabling and defining default ctors, dtors, and assign ops
John W. Eaton <jwe@octave.org>
parents:
31853
diff
changeset
|
385 X () = default; \ |
8c37bbe334d4
new macros for disabling and defining default ctors, dtors, and assign ops
John W. Eaton <jwe@octave.org>
parents:
31853
diff
changeset
|
386 OCTAVE_DEFAULT_COPY_MOVE (X) |
8c37bbe334d4
new macros for disabling and defining default ctors, dtors, and assign ops
John W. Eaton <jwe@octave.org>
parents:
31853
diff
changeset
|
387 |
8c37bbe334d4
new macros for disabling and defining default ctors, dtors, and assign ops
John W. Eaton <jwe@octave.org>
parents:
31853
diff
changeset
|
388 # define OCTAVE_DEFAULT_COPY_DELETE(X) \ |
8c37bbe334d4
new macros for disabling and defining default ctors, dtors, and assign ops
John W. Eaton <jwe@octave.org>
parents:
31853
diff
changeset
|
389 OCTAVE_DEFAULT_COPY (X) \ |
8c37bbe334d4
new macros for disabling and defining default ctors, dtors, and assign ops
John W. Eaton <jwe@octave.org>
parents:
31853
diff
changeset
|
390 ~X () = default; |
8c37bbe334d4
new macros for disabling and defining default ctors, dtors, and assign ops
John W. Eaton <jwe@octave.org>
parents:
31853
diff
changeset
|
391 |
8c37bbe334d4
new macros for disabling and defining default ctors, dtors, and assign ops
John W. Eaton <jwe@octave.org>
parents:
31853
diff
changeset
|
392 # define OCTAVE_DEFAULT_COPY_MOVE_DELETE(X) \ |
8c37bbe334d4
new macros for disabling and defining default ctors, dtors, and assign ops
John W. Eaton <jwe@octave.org>
parents:
31853
diff
changeset
|
393 OCTAVE_DEFAULT_COPY_MOVE (X) \ |
8c37bbe334d4
new macros for disabling and defining default ctors, dtors, and assign ops
John W. Eaton <jwe@octave.org>
parents:
31853
diff
changeset
|
394 ~X () = default; |
8c37bbe334d4
new macros for disabling and defining default ctors, dtors, and assign ops
John W. Eaton <jwe@octave.org>
parents:
31853
diff
changeset
|
395 |
31883
56809fe23e53
eliminate some clang warnings about defaulted functions being deleted
John W. Eaton <jwe@octave.org>
parents:
31854
diff
changeset
|
396 # define OCTAVE_DEFAULT_CONSTRUCT_DELETE(X) \ |
56809fe23e53
eliminate some clang warnings about defaulted functions being deleted
John W. Eaton <jwe@octave.org>
parents:
31854
diff
changeset
|
397 X () = default; \ |
31854
8c37bbe334d4
new macros for disabling and defining default ctors, dtors, and assign ops
John W. Eaton <jwe@octave.org>
parents:
31853
diff
changeset
|
398 ~X () = default; |
8c37bbe334d4
new macros for disabling and defining default ctors, dtors, and assign ops
John W. Eaton <jwe@octave.org>
parents:
31853
diff
changeset
|
399 |
31883
56809fe23e53
eliminate some clang warnings about defaulted functions being deleted
John W. Eaton <jwe@octave.org>
parents:
31854
diff
changeset
|
400 # define OCTAVE_DEFAULT_CONSTRUCT_COPY_DELETE(X) \ |
56809fe23e53
eliminate some clang warnings about defaulted functions being deleted
John W. Eaton <jwe@octave.org>
parents:
31854
diff
changeset
|
401 OCTAVE_DEFAULT_CONSTRUCT_DELETE (X) \ |
56809fe23e53
eliminate some clang warnings about defaulted functions being deleted
John W. Eaton <jwe@octave.org>
parents:
31854
diff
changeset
|
402 OCTAVE_DEFAULT_COPY (X) \ |
56809fe23e53
eliminate some clang warnings about defaulted functions being deleted
John W. Eaton <jwe@octave.org>
parents:
31854
diff
changeset
|
403 |
31854
8c37bbe334d4
new macros for disabling and defining default ctors, dtors, and assign ops
John W. Eaton <jwe@octave.org>
parents:
31853
diff
changeset
|
404 # define OCTAVE_DEFAULT_CONSTRUCT_COPY_MOVE_DELETE(X) \ |
31883
56809fe23e53
eliminate some clang warnings about defaulted functions being deleted
John W. Eaton <jwe@octave.org>
parents:
31854
diff
changeset
|
405 OCTAVE_DEFAULT_CONSTRUCT_DELETE (X) \ |
56809fe23e53
eliminate some clang warnings about defaulted functions being deleted
John W. Eaton <jwe@octave.org>
parents:
31854
diff
changeset
|
406 OCTAVE_DEFAULT_COPY_MOVE (X) |
56809fe23e53
eliminate some clang warnings about defaulted functions being deleted
John W. Eaton <jwe@octave.org>
parents:
31854
diff
changeset
|
407 |
31836
2bf580e9f423
new macros for disabling class copy and move member functions
John W. Eaton <jwe@octave.org>
parents:
31707
diff
changeset
|
408 #endif |
2bf580e9f423
new macros for disabling class copy and move member functions
John W. Eaton <jwe@octave.org>
parents:
31707
diff
changeset
|
409 |
30580
fdc30b576333
eliminate code duplication in oct-conf-post.in.h and octave-config.h
John W. Eaton <jwe@octave.org>
parents:
diff
changeset
|
410 typedef OCTAVE_IDX_TYPE octave_idx_type; |
fdc30b576333
eliminate code duplication in oct-conf-post.in.h and octave-config.h
John W. Eaton <jwe@octave.org>
parents:
diff
changeset
|
411 typedef OCTAVE_F77_INT_TYPE octave_f77_int_type; |
fdc30b576333
eliminate code duplication in oct-conf-post.in.h and octave-config.h
John W. Eaton <jwe@octave.org>
parents:
diff
changeset
|
412 |
fdc30b576333
eliminate code duplication in oct-conf-post.in.h and octave-config.h
John W. Eaton <jwe@octave.org>
parents:
diff
changeset
|
413 /* Backward compatibility */ |
fdc30b576333
eliminate code duplication in oct-conf-post.in.h and octave-config.h
John W. Eaton <jwe@octave.org>
parents:
diff
changeset
|
414 |
fdc30b576333
eliminate code duplication in oct-conf-post.in.h and octave-config.h
John W. Eaton <jwe@octave.org>
parents:
diff
changeset
|
415 #if defined (OCTAVE_ENABLE_64) |
fdc30b576333
eliminate code duplication in oct-conf-post.in.h and octave-config.h
John W. Eaton <jwe@octave.org>
parents:
diff
changeset
|
416 # define USE_64_BIT_IDX_T 1 |
fdc30b576333
eliminate code duplication in oct-conf-post.in.h and octave-config.h
John W. Eaton <jwe@octave.org>
parents:
diff
changeset
|
417 #endif |
fdc30b576333
eliminate code duplication in oct-conf-post.in.h and octave-config.h
John W. Eaton <jwe@octave.org>
parents:
diff
changeset
|
418 |
fdc30b576333
eliminate code duplication in oct-conf-post.in.h and octave-config.h
John W. Eaton <jwe@octave.org>
parents:
diff
changeset
|
419 #if defined (OCTAVE_ENABLE_OPENMP) |
fdc30b576333
eliminate code duplication in oct-conf-post.in.h and octave-config.h
John W. Eaton <jwe@octave.org>
parents:
diff
changeset
|
420 # define HAVE_OPENMP 1 |
fdc30b576333
eliminate code duplication in oct-conf-post.in.h and octave-config.h
John W. Eaton <jwe@octave.org>
parents:
diff
changeset
|
421 #endif |