Mercurial > octave
annotate oct-conf-post-public.in.h @ 32078:632f9b828de1
Avoid using file_stat in liboctave/util (bug #59711).
* cmd-edit.cc (looks_like_filename), cmd-hist.cc (gnu_history::do_append),
kpse.cc (kpse_element_dir), oct-glob.cc (glob, windows_glob),
url-transfer.cc (base_url_transfer::mget_directory): Use functions "dir_exists"
or "file_exists" instead of "file_stat".
* kpse.cc (dir_p), oct-glob.cc (single_match_exists): Remove unused static
functions.
author | Markus Mützel <markus.muetzel@gmx.de> |
---|---|
date | Sat, 06 May 2023 10:56:33 +0200 |
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 |