Mercurial > octave
annotate oct-conf-post-public.in.h @ 32052:d77b987a7e0d
Provide more informative error messages for various bad calling forms to set() (bug #64072)
* graphics.cc (graphics_object::set (const octave_value_list& args)): Clarify
summary of function. Remove unnecessary FIXME. Move BIST tests to below Fset
function.
* graphics.cc (Fset): Check if first argument is a string and process as
NAME/VALUE pair. Provide explicit error message about what is wrong if only
NAME is given and no matching VALUE. Directly call set_value_or_default()
rather than forming a 2-element octave_value_list and calling set() function
which accepts octave_value_list objects. Provide explicit error message if
cell array of PROPERTIES is given with no following cell array of VALUES.
If input validation fails just report "invalid syntax" rather than trying
to suggest which input was at fault.
author | Rik <rik@octave.org> |
---|---|
date | Tue, 25 Apr 2023 07:50:29 -0700 |
parents | 56809fe23e53 |
children | 61d014959a8b |
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 // |
31706
597f3ee61a48
update Octave Project Developers copyright for the new year
John W. Eaton <jwe@octave.org>
parents:
31605
diff
changeset
|
3 // Copyright (C) 1993-2023 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 |
fdc30b576333
eliminate code duplication in oct-conf-post.in.h and octave-config.h
John W. Eaton <jwe@octave.org>
parents:
diff
changeset
|
35 /* The C++ standard is evolving to allow attribute hints in a |
fdc30b576333
eliminate code duplication in oct-conf-post.in.h and octave-config.h
John W. Eaton <jwe@octave.org>
parents:
diff
changeset
|
36 compiler-independent manner. In C++ 2011 support for noreturn was |
fdc30b576333
eliminate code duplication in oct-conf-post.in.h and octave-config.h
John W. Eaton <jwe@octave.org>
parents:
diff
changeset
|
37 added. In C++ 2014 support for deprecated was added. The Octave |
fdc30b576333
eliminate code duplication in oct-conf-post.in.h and octave-config.h
John W. Eaton <jwe@octave.org>
parents:
diff
changeset
|
38 code base has been future-proofed by using macros of the form |
fdc30b576333
eliminate code duplication in oct-conf-post.in.h and octave-config.h
John W. Eaton <jwe@octave.org>
parents:
diff
changeset
|
39 OCTAVE_ATTRIBUTE_NAME in place of vendor specific attribute |
fdc30b576333
eliminate code duplication in oct-conf-post.in.h and octave-config.h
John W. Eaton <jwe@octave.org>
parents:
diff
changeset
|
40 mechanisms. As compilers evolve, the underlying implementation can |
fdc30b576333
eliminate code duplication in oct-conf-post.in.h and octave-config.h
John W. Eaton <jwe@octave.org>
parents:
diff
changeset
|
41 be changed with the macro definitions below. FIXME: Update macros |
31462
fcbbb498d4af
mk-builtins.pl: Don't generate deprecated inline functions without octave:: namespace qualifier.
Rik <rik@octave.org>
parents:
31400
diff
changeset
|
42 to use C++ standard attribute syntax when Octave moves to C++ 2014 |
30580
fdc30b576333
eliminate code duplication in oct-conf-post.in.h and octave-config.h
John W. Eaton <jwe@octave.org>
parents:
diff
changeset
|
43 standard. */ |
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__) |
fdc30b576333
eliminate code duplication in oct-conf-post.in.h and octave-config.h
John W. Eaton <jwe@octave.org>
parents:
diff
changeset
|
46 /* 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
|
47 # if __GNUC__ > 4 || (__GNUC__ == 4 && __GNUC_MINOR__ >= 5) |
fdc30b576333
eliminate code duplication in oct-conf-post.in.h and octave-config.h
John W. Eaton <jwe@octave.org>
parents:
diff
changeset
|
48 # define OCTAVE_DEPRECATED(ver, msg) __attribute__ ((__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
|
49 # else |
fdc30b576333
eliminate code duplication in oct-conf-post.in.h and octave-config.h
John W. Eaton <jwe@octave.org>
parents:
diff
changeset
|
50 # define OCTAVE_DEPRECATED(ver, msg) __attribute__ ((__deprecated__)) |
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 |
fdc30b576333
eliminate code duplication in oct-conf-post.in.h and octave-config.h
John W. Eaton <jwe@octave.org>
parents:
diff
changeset
|
54 # define OCTAVE_NORETURN __attribute__ ((__noreturn__)) |
fdc30b576333
eliminate code duplication in oct-conf-post.in.h and octave-config.h
John W. Eaton <jwe@octave.org>
parents:
diff
changeset
|
55 # define HAVE_OCTAVE_NORETURN_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
|
56 |
fdc30b576333
eliminate code duplication in oct-conf-post.in.h and octave-config.h
John W. Eaton <jwe@octave.org>
parents:
diff
changeset
|
57 # define OCTAVE_UNUSED __attribute__ ((__unused__)) |
fdc30b576333
eliminate code duplication in oct-conf-post.in.h and octave-config.h
John W. Eaton <jwe@octave.org>
parents:
diff
changeset
|
58 # define HAVE_OCTAVE_UNUSED_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
|
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 |
fdc30b576333
eliminate code duplication in oct-conf-post.in.h and octave-config.h
John W. Eaton <jwe@octave.org>
parents:
diff
changeset
|
69 #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
|
70 /* 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
|
71 * 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
|
72 * 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
|
73 * 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
|
74 * 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
|
75 # 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
|
76 # 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
|
77 # else |
fdc30b576333
eliminate code duplication in oct-conf-post.in.h and octave-config.h
John W. Eaton <jwe@octave.org>
parents:
diff
changeset
|
78 # 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
|
79 # endif |
fdc30b576333
eliminate code duplication in oct-conf-post.in.h and octave-config.h
John W. Eaton <jwe@octave.org>
parents:
diff
changeset
|
80 |
fdc30b576333
eliminate code duplication in oct-conf-post.in.h and octave-config.h
John W. Eaton <jwe@octave.org>
parents:
diff
changeset
|
81 # 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
|
82 __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
|
83 |
fdc30b576333
eliminate code duplication in oct-conf-post.in.h and octave-config.h
John W. Eaton <jwe@octave.org>
parents:
diff
changeset
|
84 # 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
|
85 #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
|
86 /* 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
|
87 # 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
|
88 __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
|
89 |
fdc30b576333
eliminate code duplication in oct-conf-post.in.h and octave-config.h
John W. Eaton <jwe@octave.org>
parents:
diff
changeset
|
90 # 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
|
91 #else |
fdc30b576333
eliminate code duplication in oct-conf-post.in.h and octave-config.h
John W. Eaton <jwe@octave.org>
parents:
diff
changeset
|
92 # 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
|
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 /* # 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
|
95 #endif |
fdc30b576333
eliminate code duplication in oct-conf-post.in.h and octave-config.h
John W. Eaton <jwe@octave.org>
parents:
diff
changeset
|
96 |
fdc30b576333
eliminate code duplication in oct-conf-post.in.h and octave-config.h
John W. Eaton <jwe@octave.org>
parents:
diff
changeset
|
97 #if ! defined (OCTAVE_FALLTHROUGH) |
fdc30b576333
eliminate code duplication in oct-conf-post.in.h and octave-config.h
John W. Eaton <jwe@octave.org>
parents:
diff
changeset
|
98 # if defined (__cplusplus) && __cplusplus > 201402L |
fdc30b576333
eliminate code duplication in oct-conf-post.in.h and octave-config.h
John W. Eaton <jwe@octave.org>
parents:
diff
changeset
|
99 # define OCTAVE_FALLTHROUGH [[fallthrough]] |
fdc30b576333
eliminate code duplication in oct-conf-post.in.h and octave-config.h
John W. Eaton <jwe@octave.org>
parents:
diff
changeset
|
100 # elif defined (__GNUC__) && __GNUC__ < 7 |
fdc30b576333
eliminate code duplication in oct-conf-post.in.h and octave-config.h
John W. Eaton <jwe@octave.org>
parents:
diff
changeset
|
101 # define OCTAVE_FALLTHROUGH ((void) 0) |
fdc30b576333
eliminate code duplication in oct-conf-post.in.h and octave-config.h
John W. Eaton <jwe@octave.org>
parents:
diff
changeset
|
102 # else |
fdc30b576333
eliminate code duplication in oct-conf-post.in.h and octave-config.h
John W. Eaton <jwe@octave.org>
parents:
diff
changeset
|
103 # define OCTAVE_FALLTHROUGH __attribute__ ((__fallthrough__)) |
fdc30b576333
eliminate code duplication in oct-conf-post.in.h and octave-config.h
John W. Eaton <jwe@octave.org>
parents:
diff
changeset
|
104 # endif |
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 |
fdc30b576333
eliminate code duplication in oct-conf-post.in.h and octave-config.h
John W. Eaton <jwe@octave.org>
parents:
diff
changeset
|
107 #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
|
108 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
|
109 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
|
110 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
|
111 { } |
fdc30b576333
eliminate code duplication in oct-conf-post.in.h and octave-config.h
John W. Eaton <jwe@octave.org>
parents:
diff
changeset
|
112 #else |
fdc30b576333
eliminate code duplication in oct-conf-post.in.h and octave-config.h
John W. Eaton <jwe@octave.org>
parents:
diff
changeset
|
113 # 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
|
114 #endif |
fdc30b576333
eliminate code duplication in oct-conf-post.in.h and octave-config.h
John W. Eaton <jwe@octave.org>
parents:
diff
changeset
|
115 |
fdc30b576333
eliminate code duplication in oct-conf-post.in.h and octave-config.h
John W. Eaton <jwe@octave.org>
parents:
diff
changeset
|
116 #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
|
117 # 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
|
118 # 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
|
119 /* GCC */ |
fdc30b576333
eliminate code duplication in oct-conf-post.in.h and octave-config.h
John W. Eaton <jwe@octave.org>
parents:
diff
changeset
|
120 # 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
|
121 # 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
|
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 /* MSVC */ |
fdc30b576333
eliminate code duplication in oct-conf-post.in.h and octave-config.h
John W. Eaton <jwe@octave.org>
parents:
diff
changeset
|
124 # 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
|
125 # 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
|
126 # endif |
fdc30b576333
eliminate code duplication in oct-conf-post.in.h and octave-config.h
John W. Eaton <jwe@octave.org>
parents:
diff
changeset
|
127 # else |
fdc30b576333
eliminate code duplication in oct-conf-post.in.h and octave-config.h
John W. Eaton <jwe@octave.org>
parents:
diff
changeset
|
128 /* 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
|
129 # 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
|
130 # 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
|
131 # endif |
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 # 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
|
134 # 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
|
135 #endif |
fdc30b576333
eliminate code duplication in oct-conf-post.in.h and octave-config.h
John W. Eaton <jwe@octave.org>
parents:
diff
changeset
|
136 |
31400
e7fc6251b698
Use more specialized API flags for template classes (bug #61711).
Markus Mützel <markus.muetzel@gmx.de>
parents:
30827
diff
changeset
|
137 /* 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
|
138 #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
|
139 # 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
|
140 # 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
|
141 # 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
|
142 # 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
|
143 # if defined(__MINGW32__) |
e7fc6251b698
Use more specialized API flags for template classes (bug #61711).
Markus Mützel <markus.muetzel@gmx.de>
parents:
30827
diff
changeset
|
144 # 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
|
145 # 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
|
146 # else |
e7fc6251b698
Use more specialized API flags for template classes (bug #61711).
Markus Mützel <markus.muetzel@gmx.de>
parents:
30827
diff
changeset
|
147 # 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
|
148 # 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
|
149 # endif |
e7fc6251b698
Use more specialized API flags for template classes (bug #61711).
Markus Mützel <markus.muetzel@gmx.de>
parents:
30827
diff
changeset
|
150 # 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
|
151 # else |
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 OCTAVE_EXPORT |
e7fc6251b698
Use more specialized API flags for template classes (bug #61711).
Markus Mützel <markus.muetzel@gmx.de>
parents:
30827
diff
changeset
|
153 # 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
|
154 # 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
|
155 # 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
|
156 # 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
|
157 #else |
fdc30b576333
eliminate code duplication in oct-conf-post.in.h and octave-config.h
John W. Eaton <jwe@octave.org>
parents:
diff
changeset
|
158 # 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
|
159 # 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
|
160 # 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
|
161 # 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
|
162 # 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
|
163 # endif |
31400
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_TEMPLATE_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_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
|
166 # 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
|
167 # 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
|
168 #endif |
fdc30b576333
eliminate code duplication in oct-conf-post.in.h and octave-config.h
John W. Eaton <jwe@octave.org>
parents:
diff
changeset
|
169 |
31400
e7fc6251b698
Use more specialized API flags for template classes (bug #61711).
Markus Mützel <markus.muetzel@gmx.de>
parents:
30827
diff
changeset
|
170 /* 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
|
171 #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
|
172 # 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
|
173 # 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
|
174 # 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
|
175 # 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
|
176 # if defined(__MINGW32__) |
e7fc6251b698
Use more specialized API flags for template classes (bug #61711).
Markus Mützel <markus.muetzel@gmx.de>
parents:
30827
diff
changeset
|
177 # 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
|
178 # 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
|
179 # else |
e7fc6251b698
Use more specialized API flags for template classes (bug #61711).
Markus Mützel <markus.muetzel@gmx.de>
parents:
30827
diff
changeset
|
180 # 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
|
181 # 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
|
182 # endif |
e7fc6251b698
Use more specialized API flags for template classes (bug #61711).
Markus Mützel <markus.muetzel@gmx.de>
parents:
30827
diff
changeset
|
183 # 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
|
184 # else |
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 OCTAVE_EXPORT |
e7fc6251b698
Use more specialized API flags for template classes (bug #61711).
Markus Mützel <markus.muetzel@gmx.de>
parents:
30827
diff
changeset
|
186 # 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
|
187 # 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
|
188 # 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
|
189 # 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
|
190 #else |
fdc30b576333
eliminate code duplication in oct-conf-post.in.h and octave-config.h
John W. Eaton <jwe@octave.org>
parents:
diff
changeset
|
191 # 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
|
192 # 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
|
193 # 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
|
194 # 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
|
195 # 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
|
196 # endif |
31400
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_TEMPLATE_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_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
|
199 # 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
|
200 # 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
|
201 #endif |
fdc30b576333
eliminate code duplication in oct-conf-post.in.h and octave-config.h
John W. Eaton <jwe@octave.org>
parents:
diff
changeset
|
202 |
31400
e7fc6251b698
Use more specialized API flags for template classes (bug #61711).
Markus Mützel <markus.muetzel@gmx.de>
parents:
30827
diff
changeset
|
203 /* 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
|
204 #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
|
205 # 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
|
206 # 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
|
207 # 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
|
208 # 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
|
209 # if defined(__MINGW32__) |
e7fc6251b698
Use more specialized API flags for template classes (bug #61711).
Markus Mützel <markus.muetzel@gmx.de>
parents:
30827
diff
changeset
|
210 # 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
|
211 # 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
|
212 # else |
e7fc6251b698
Use more specialized API flags for template classes (bug #61711).
Markus Mützel <markus.muetzel@gmx.de>
parents:
30827
diff
changeset
|
213 # 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
|
214 # 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
|
215 # endif |
e7fc6251b698
Use more specialized API flags for template classes (bug #61711).
Markus Mützel <markus.muetzel@gmx.de>
parents:
30827
diff
changeset
|
216 # 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
|
217 # else |
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 OCTAVE_EXPORT |
e7fc6251b698
Use more specialized API flags for template classes (bug #61711).
Markus Mützel <markus.muetzel@gmx.de>
parents:
30827
diff
changeset
|
219 # 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
|
220 # 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
|
221 # 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
|
222 # 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
|
223 #else |
fdc30b576333
eliminate code duplication in oct-conf-post.in.h and octave-config.h
John W. Eaton <jwe@octave.org>
parents:
diff
changeset
|
224 # 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
|
225 # 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
|
226 # 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
|
227 # 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
|
228 # 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
|
229 # endif |
31400
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_TEMPLATE_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_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
|
232 # 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
|
233 # 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
|
234 #endif |
fdc30b576333
eliminate code duplication in oct-conf-post.in.h and octave-config.h
John W. Eaton <jwe@octave.org>
parents:
diff
changeset
|
235 |
31400
e7fc6251b698
Use more specialized API flags for template classes (bug #61711).
Markus Mützel <markus.muetzel@gmx.de>
parents:
30827
diff
changeset
|
236 /* 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
|
237 #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
|
238 # 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
|
239 # 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
|
240 # 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
|
241 # 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
|
242 # if defined(__MINGW32__) |
e7fc6251b698
Use more specialized API flags for template classes (bug #61711).
Markus Mützel <markus.muetzel@gmx.de>
parents:
30827
diff
changeset
|
243 # 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
|
244 # 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
|
245 # else |
e7fc6251b698
Use more specialized API flags for template classes (bug #61711).
Markus Mützel <markus.muetzel@gmx.de>
parents:
30827
diff
changeset
|
246 # 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
|
247 # 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
|
248 # endif |
e7fc6251b698
Use more specialized API flags for template classes (bug #61711).
Markus Mützel <markus.muetzel@gmx.de>
parents:
30827
diff
changeset
|
249 # 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
|
250 # else |
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 OCTAVE_EXPORT |
e7fc6251b698
Use more specialized API flags for template classes (bug #61711).
Markus Mützel <markus.muetzel@gmx.de>
parents:
30827
diff
changeset
|
252 # 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
|
253 # 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
|
254 # 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
|
255 # 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
|
256 #else |
fdc30b576333
eliminate code duplication in oct-conf-post.in.h and octave-config.h
John W. Eaton <jwe@octave.org>
parents:
diff
changeset
|
257 # 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
|
258 # 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
|
259 # 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
|
260 # 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
|
261 # 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
|
262 # endif |
31400
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_TEMPLATE_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_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
|
265 # 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
|
266 # 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
|
267 #endif |
fdc30b576333
eliminate code duplication in oct-conf-post.in.h and octave-config.h
John W. Eaton <jwe@octave.org>
parents:
diff
changeset
|
268 |
31400
e7fc6251b698
Use more specialized API flags for template classes (bug #61711).
Markus Mützel <markus.muetzel@gmx.de>
parents:
30827
diff
changeset
|
269 /* 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
|
270 #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
|
271 # 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
|
272 # 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
|
273 # 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
|
274 # 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
|
275 # if defined(__MINGW32__) |
e7fc6251b698
Use more specialized API flags for template classes (bug #61711).
Markus Mützel <markus.muetzel@gmx.de>
parents:
30827
diff
changeset
|
276 # 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
|
277 # 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
|
278 # else |
e7fc6251b698
Use more specialized API flags for template classes (bug #61711).
Markus Mützel <markus.muetzel@gmx.de>
parents:
30827
diff
changeset
|
279 # 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
|
280 # 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
|
281 # endif |
e7fc6251b698
Use more specialized API flags for template classes (bug #61711).
Markus Mützel <markus.muetzel@gmx.de>
parents:
30827
diff
changeset
|
282 # 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
|
283 # else |
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 OCTAVE_EXPORT |
e7fc6251b698
Use more specialized API flags for template classes (bug #61711).
Markus Mützel <markus.muetzel@gmx.de>
parents:
30827
diff
changeset
|
285 # 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
|
286 # 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
|
287 # 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
|
288 # 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
|
289 #else |
fdc30b576333
eliminate code duplication in oct-conf-post.in.h and octave-config.h
John W. Eaton <jwe@octave.org>
parents:
diff
changeset
|
290 # 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
|
291 # 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
|
292 # 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
|
293 # 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
|
294 # 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
|
295 # endif |
31400
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_TEMPLATE_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_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
|
298 # 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
|
299 # 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
|
300 #endif |
fdc30b576333
eliminate code duplication in oct-conf-post.in.h and octave-config.h
John W. Eaton <jwe@octave.org>
parents:
diff
changeset
|
301 |
fdc30b576333
eliminate code duplication in oct-conf-post.in.h and octave-config.h
John W. Eaton <jwe@octave.org>
parents:
diff
changeset
|
302 #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
|
303 # 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
|
304 #else |
fdc30b576333
eliminate code duplication in oct-conf-post.in.h and octave-config.h
John W. Eaton <jwe@octave.org>
parents:
diff
changeset
|
305 # 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
|
306 #endif |
fdc30b576333
eliminate code duplication in oct-conf-post.in.h and octave-config.h
John W. Eaton <jwe@octave.org>
parents:
diff
changeset
|
307 |
fdc30b576333
eliminate code duplication in oct-conf-post.in.h and octave-config.h
John W. Eaton <jwe@octave.org>
parents:
diff
changeset
|
308 #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
|
309 # 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
|
310 #else |
fdc30b576333
eliminate code duplication in oct-conf-post.in.h and octave-config.h
John W. Eaton <jwe@octave.org>
parents:
diff
changeset
|
311 # 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
|
312 #endif |
fdc30b576333
eliminate code duplication in oct-conf-post.in.h and octave-config.h
John W. Eaton <jwe@octave.org>
parents:
diff
changeset
|
313 |
fdc30b576333
eliminate code duplication in oct-conf-post.in.h and octave-config.h
John W. Eaton <jwe@octave.org>
parents:
diff
changeset
|
314 #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
|
315 |
30827
3e395f6fc03a
maint: Merge stable to default.
Markus Mützel <markus.muetzel@gmx.de>
parents:
30580
diff
changeset
|
316 /* 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
|
317 #define OCTAVE_TIME_T int64_t |
3e395f6fc03a
maint: Merge stable to default.
Markus Mützel <markus.muetzel@gmx.de>
parents:
30580
diff
changeset
|
318 |
30580
fdc30b576333
eliminate code duplication in oct-conf-post.in.h and octave-config.h
John W. Eaton <jwe@octave.org>
parents:
diff
changeset
|
319 #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
|
320 # 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
|
321 #endif |
fdc30b576333
eliminate code duplication in oct-conf-post.in.h and octave-config.h
John W. Eaton <jwe@octave.org>
parents:
diff
changeset
|
322 |
31836
2bf580e9f423
new macros for disabling class copy and move member functions
John W. Eaton <jwe@octave.org>
parents:
31707
diff
changeset
|
323 #if defined (__cplusplus) |
2bf580e9f423
new macros for disabling class copy and move member functions
John W. Eaton <jwe@octave.org>
parents:
31707
diff
changeset
|
324 # 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
|
325 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
|
326 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
|
327 |
2bf580e9f423
new macros for disabling class copy and move member functions
John W. Eaton <jwe@octave.org>
parents:
31707
diff
changeset
|
328 # 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
|
329 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
|
330 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
|
331 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
|
332 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
|
333 |
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_MOVE(X) \ |
2bf580e9f423
new macros for disabling class copy and move member functions
John W. Eaton <jwe@octave.org>
parents:
31707
diff
changeset
|
335 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
|
336 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
|
337 |
31883
56809fe23e53
eliminate some clang warnings about defaulted functions being deleted
John W. Eaton <jwe@octave.org>
parents:
31854
diff
changeset
|
338 # 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
|
339 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
|
340 X& operator = (X&&) = delete; \ |
56809fe23e53
eliminate some clang warnings about defaulted functions being deleted
John W. Eaton <jwe@octave.org>
parents:
31854
diff
changeset
|
341 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
|
342 |
31854
8c37bbe334d4
new macros for disabling and defining default ctors, dtors, and assign ops
John W. Eaton <jwe@octave.org>
parents:
31853
diff
changeset
|
343 # 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
|
344 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
|
345 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
|
346 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
|
347 |
8c37bbe334d4
new macros for disabling and defining default ctors, dtors, and assign ops
John W. Eaton <jwe@octave.org>
parents:
31853
diff
changeset
|
348 # 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
|
349 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
|
350 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
|
351 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
|
352 ~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
|
353 |
8c37bbe334d4
new macros for disabling and defining default ctors, dtors, and assign ops
John W. Eaton <jwe@octave.org>
parents:
31853
diff
changeset
|
354 # 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
|
355 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
|
356 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
|
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_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
|
359 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
|
360 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
|
361 |
8c37bbe334d4
new macros for disabling and defining default ctors, dtors, and assign ops
John W. Eaton <jwe@octave.org>
parents:
31853
diff
changeset
|
362 # 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
|
363 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
|
364 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
|
365 |
31883
56809fe23e53
eliminate some clang warnings about defaulted functions being deleted
John W. Eaton <jwe@octave.org>
parents:
31854
diff
changeset
|
366 # 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
|
367 X (const X&) = default; \ |
56809fe23e53
eliminate some clang warnings about defaulted functions being deleted
John W. Eaton <jwe@octave.org>
parents:
31854
diff
changeset
|
368 X (X&&) = default; |
56809fe23e53
eliminate some clang warnings about defaulted functions being deleted
John W. Eaton <jwe@octave.org>
parents:
31854
diff
changeset
|
369 |
31854
8c37bbe334d4
new macros for disabling and defining default ctors, dtors, and assign ops
John W. Eaton <jwe@octave.org>
parents:
31853
diff
changeset
|
370 # 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
|
371 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
|
372 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
|
373 |
8c37bbe334d4
new macros for disabling and defining default ctors, dtors, and assign ops
John W. Eaton <jwe@octave.org>
parents:
31853
diff
changeset
|
374 # 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
|
375 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
|
376 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
|
377 |
8c37bbe334d4
new macros for disabling and defining default ctors, dtors, and assign ops
John W. Eaton <jwe@octave.org>
parents:
31853
diff
changeset
|
378 # 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
|
379 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
|
380 ~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
|
381 |
8c37bbe334d4
new macros for disabling and defining default ctors, dtors, and assign ops
John W. Eaton <jwe@octave.org>
parents:
31853
diff
changeset
|
382 # 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
|
383 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
|
384 ~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
|
385 |
31883
56809fe23e53
eliminate some clang warnings about defaulted functions being deleted
John W. Eaton <jwe@octave.org>
parents:
31854
diff
changeset
|
386 # 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
|
387 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
|
388 ~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
|
389 |
31883
56809fe23e53
eliminate some clang warnings about defaulted functions being deleted
John W. Eaton <jwe@octave.org>
parents:
31854
diff
changeset
|
390 # 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
|
391 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
|
392 OCTAVE_DEFAULT_COPY (X) \ |
56809fe23e53
eliminate some clang warnings about defaulted functions being deleted
John W. Eaton <jwe@octave.org>
parents:
31854
diff
changeset
|
393 |
31854
8c37bbe334d4
new macros for disabling and defining default ctors, dtors, and assign ops
John W. Eaton <jwe@octave.org>
parents:
31853
diff
changeset
|
394 # 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
|
395 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
|
396 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
|
397 |
31836
2bf580e9f423
new macros for disabling class copy and move member functions
John W. Eaton <jwe@octave.org>
parents:
31707
diff
changeset
|
398 #endif |
2bf580e9f423
new macros for disabling class copy and move member functions
John W. Eaton <jwe@octave.org>
parents:
31707
diff
changeset
|
399 |
30580
fdc30b576333
eliminate code duplication in oct-conf-post.in.h and octave-config.h
John W. Eaton <jwe@octave.org>
parents:
diff
changeset
|
400 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
|
401 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
|
402 |
fdc30b576333
eliminate code duplication in oct-conf-post.in.h and octave-config.h
John W. Eaton <jwe@octave.org>
parents:
diff
changeset
|
403 /* 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
|
404 |
fdc30b576333
eliminate code duplication in oct-conf-post.in.h and octave-config.h
John W. Eaton <jwe@octave.org>
parents:
diff
changeset
|
405 #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
|
406 # 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
|
407 #endif |
fdc30b576333
eliminate code duplication in oct-conf-post.in.h and octave-config.h
John W. Eaton <jwe@octave.org>
parents:
diff
changeset
|
408 |
fdc30b576333
eliminate code duplication in oct-conf-post.in.h and octave-config.h
John W. Eaton <jwe@octave.org>
parents:
diff
changeset
|
409 #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
|
410 # 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
|
411 #endif |
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 #if defined (OCTAVE_ENABLE_FLOAT_TRUNCATE) |
fdc30b576333
eliminate code duplication in oct-conf-post.in.h and octave-config.h
John W. Eaton <jwe@octave.org>
parents:
diff
changeset
|
414 # define OCTAVE_FLOAT_TRUNCATE volatile |
fdc30b576333
eliminate code duplication in oct-conf-post.in.h and octave-config.h
John W. Eaton <jwe@octave.org>
parents:
diff
changeset
|
415 #else |
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 OCTAVE_FLOAT_TRUNCATE |
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 |