noobs 0.0.6
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/COPYING +339 -0
- package/README.md +46 -0
- package/bin/64bit/obs.lib +0 -0
- package/binding.gyp +23 -0
- package/dist/bin/Qt6Core.dll +0 -0
- package/dist/bin/Qt6Gui.dll +0 -0
- package/dist/bin/Qt6Network.dll +0 -0
- package/dist/bin/Qt6Svg.dll +0 -0
- package/dist/bin/Qt6Widgets.dll +0 -0
- package/dist/bin/Qt6Xml.dll +0 -0
- package/dist/bin/avcodec-61.dll +0 -0
- package/dist/bin/avdevice-61.dll +0 -0
- package/dist/bin/avfilter-10.dll +0 -0
- package/dist/bin/avformat-61.dll +0 -0
- package/dist/bin/avutil-59.dll +0 -0
- package/dist/bin/datachannel.dll +0 -0
- package/dist/bin/libcurl.dll +0 -0
- package/dist/bin/libobs-d3d11.dll +0 -0
- package/dist/bin/libobs-opengl.dll +0 -0
- package/dist/bin/libobs-winrt.dll +0 -0
- package/dist/bin/librist.dll +0 -0
- package/dist/bin/libx264-164.dll +0 -0
- package/dist/bin/lua51.dll +0 -0
- package/dist/bin/obs-amf-test.exe +0 -0
- package/dist/bin/obs-ffmpeg-mux.exe +0 -0
- package/dist/bin/obs-frontend-api.dll +0 -0
- package/dist/bin/obs-scripting.dll +0 -0
- package/dist/bin/obs.dll +0 -0
- package/dist/bin/srt.dll +0 -0
- package/dist/bin/swresample-5.dll +0 -0
- package/dist/bin/swscale-8.dll +0 -0
- package/dist/bin/w32-pthreads.dll +0 -0
- package/dist/bin/zlib.dll +0 -0
- package/dist/effects/area.effect +250 -0
- package/dist/effects/bicubic_scale.effect +236 -0
- package/dist/effects/bilinear_lowres_scale.effect +123 -0
- package/dist/effects/color.effect +172 -0
- package/dist/effects/default.effect +254 -0
- package/dist/effects/default_rect.effect +84 -0
- package/dist/effects/deinterlace_base.effect +325 -0
- package/dist/effects/deinterlace_blend.effect +21 -0
- package/dist/effects/deinterlace_blend_2x.effect +21 -0
- package/dist/effects/deinterlace_discard.effect +21 -0
- package/dist/effects/deinterlace_discard_2x.effect +21 -0
- package/dist/effects/deinterlace_linear.effect +21 -0
- package/dist/effects/deinterlace_linear_2x.effect +21 -0
- package/dist/effects/deinterlace_yadif.effect +21 -0
- package/dist/effects/deinterlace_yadif_2x.effect +21 -0
- package/dist/effects/format_conversion.effect +1823 -0
- package/dist/effects/lanczos_scale.effect +292 -0
- package/dist/effects/opaque.effect +159 -0
- package/dist/effects/premultiplied_alpha.effect +38 -0
- package/dist/effects/repeat.effect +36 -0
- package/dist/effects/solid.effect +80 -0
- package/dist/noobs.node +0 -0
- package/dist/plugins/obs-ffmpeg.dll +0 -0
- package/dist/plugins/obs-x264.dll +0 -0
- package/dist/plugins/win-capture.dll +0 -0
- package/include/audio-monitoring/osx/mac-helpers.h +13 -0
- package/include/audio-monitoring/pulse/pulseaudio-wrapper.h +212 -0
- package/include/audio-monitoring/win32/wasapi-output.h +22 -0
- package/include/callback/calldata.h +195 -0
- package/include/callback/decl.h +61 -0
- package/include/callback/proc.h +52 -0
- package/include/callback/signal.h +73 -0
- package/include/graphics/axisang.h +65 -0
- package/include/graphics/bounds.h +108 -0
- package/include/graphics/device-exports.h +177 -0
- package/include/graphics/effect-parser.h +290 -0
- package/include/graphics/effect.h +190 -0
- package/include/graphics/graphics-internal.h +335 -0
- package/include/graphics/graphics.h +1024 -0
- package/include/graphics/half.h +100 -0
- package/include/graphics/image-file.h +124 -0
- package/include/graphics/input.h +34 -0
- package/include/graphics/libnsgif/libnsgif.h +142 -0
- package/include/graphics/math-defs.h +45 -0
- package/include/graphics/math-extra.h +61 -0
- package/include/graphics/matrix3.h +98 -0
- package/include/graphics/matrix4.h +102 -0
- package/include/graphics/plane.h +85 -0
- package/include/graphics/quat.h +170 -0
- package/include/graphics/shader-parser.h +273 -0
- package/include/graphics/srgb.h +177 -0
- package/include/graphics/vec2.h +148 -0
- package/include/graphics/vec3.h +224 -0
- package/include/graphics/vec4.h +241 -0
- package/include/media-io/audio-io.h +228 -0
- package/include/media-io/audio-math.h +43 -0
- package/include/media-io/audio-resampler.h +44 -0
- package/include/media-io/format-conversion.h +50 -0
- package/include/media-io/frame-rate.h +29 -0
- package/include/media-io/media-io-defs.h +20 -0
- package/include/media-io/media-remux.h +37 -0
- package/include/media-io/video-frame.h +64 -0
- package/include/media-io/video-io.h +338 -0
- package/include/media-io/video-scaler.h +43 -0
- package/include/obs-audio-controls.h +250 -0
- package/include/obs-av1.h +47 -0
- package/include/obs-avc.h +55 -0
- package/include/obs-config.h +52 -0
- package/include/obs-data.h +311 -0
- package/include/obs-defs.h +52 -0
- package/include/obs-encoder.h +361 -0
- package/include/obs-ffmpeg-compat.h +13 -0
- package/include/obs-hevc.h +81 -0
- package/include/obs-hotkey.h +271 -0
- package/include/obs-hotkeys.h +653 -0
- package/include/obs-interaction.h +56 -0
- package/include/obs-internal.h +1459 -0
- package/include/obs-missing-files.h +53 -0
- package/include/obs-module.h +181 -0
- package/include/obs-nal.h +37 -0
- package/include/obs-nix-platform.h +53 -0
- package/include/obs-nix-wayland.h +24 -0
- package/include/obs-nix-x11.h +22 -0
- package/include/obs-nix.h +42 -0
- package/include/obs-output.h +96 -0
- package/include/obs-properties.h +364 -0
- package/include/obs-scene.h +127 -0
- package/include/obs-service.h +115 -0
- package/include/obs-source.h +568 -0
- package/include/obs.h +2608 -0
- package/include/obsconfig.h +13 -0
- package/include/obsversion.h +5 -0
- package/include/util/apple/cfstring-utils.h +16 -0
- package/include/util/array-serializer.h +37 -0
- package/include/util/base.h +97 -0
- package/include/util/bitstream.h +28 -0
- package/include/util/bmem.h +94 -0
- package/include/util/buffered-file-serializer.h +32 -0
- package/include/util/c99defs.h +75 -0
- package/include/util/cf-lexer.h +199 -0
- package/include/util/cf-parser.h +281 -0
- package/include/util/circlebuf.h +319 -0
- package/include/util/config-file.h +103 -0
- package/include/util/crc32.h +29 -0
- package/include/util/curl/curl-helper.h +35 -0
- package/include/util/darray.h +606 -0
- package/include/util/deque.h +319 -0
- package/include/util/dstr.h +320 -0
- package/include/util/file-serializer.h +34 -0
- package/include/util/lexer.h +273 -0
- package/include/util/pipe.h +52 -0
- package/include/util/platform.h +223 -0
- package/include/util/profiler.h +97 -0
- package/include/util/serializer.h +158 -0
- package/include/util/simde/check.h +285 -0
- package/include/util/simde/debug-trap.h +117 -0
- package/include/util/simde/hedley.h +2123 -0
- package/include/util/simde/simde-align.h +481 -0
- package/include/util/simde/simde-arch.h +537 -0
- package/include/util/simde/simde-common.h +918 -0
- package/include/util/simde/simde-constify.h +925 -0
- package/include/util/simde/simde-detect-clang.h +114 -0
- package/include/util/simde/simde-diagnostic.h +447 -0
- package/include/util/simde/simde-features.h +550 -0
- package/include/util/simde/simde-math.h +1858 -0
- package/include/util/simde/x86/mmx.h +2456 -0
- package/include/util/simde/x86/sse.h +4479 -0
- package/include/util/simde/x86/sse2.h +7549 -0
- package/include/util/source-profiler.h +66 -0
- package/include/util/sse-intrin.h +32 -0
- package/include/util/task.h +22 -0
- package/include/util/text-lookup.h +45 -0
- package/include/util/threading-posix.h +77 -0
- package/include/util/threading-windows.h +142 -0
- package/include/util/threading.h +103 -0
- package/include/util/utf8.h +35 -0
- package/include/util/uthash.h +34 -0
- package/include/util/util_uint128.h +108 -0
- package/include/util/util_uint64.h +34 -0
- package/include/util/windows/device-enum.h +14 -0
- package/include/util/windows/obfuscate.h +16 -0
- package/include/util/windows/win-registry.h +37 -0
- package/include/util/windows/win-version.h +57 -0
- package/include/util/windows/window-helpers.h +47 -0
- package/index.d.ts +38 -0
- package/index.js +8 -0
- package/package.json +31 -0
- package/src/main.cpp +321 -0
- package/src/obs_interface.cpp +605 -0
- package/src/obs_interface.h +74 -0
- package/src/utils.cpp +80 -0
- package/src/utils.h +3 -0
|
@@ -0,0 +1,114 @@
|
|
|
1
|
+
/* Detect Clang Version
|
|
2
|
+
* Created by Evan Nemerson <evan@nemerson.com>
|
|
3
|
+
*
|
|
4
|
+
* To the extent possible under law, the author(s) have dedicated all
|
|
5
|
+
* copyright and related and neighboring rights to this software to
|
|
6
|
+
* the public domain worldwide. This software is distributed without
|
|
7
|
+
* any warranty.
|
|
8
|
+
*
|
|
9
|
+
* For details, see <http://creativecommons.org/publicdomain/zero/1.0/>.
|
|
10
|
+
* SPDX-License-Identifier: CC0-1.0
|
|
11
|
+
*/
|
|
12
|
+
|
|
13
|
+
/* This file was originally part of SIMDe
|
|
14
|
+
* (<https://github.com/simd-everywhere/simde>). You're free to do with it as
|
|
15
|
+
* you please, but I do have a few small requests:
|
|
16
|
+
*
|
|
17
|
+
* * If you make improvements, please submit them back to SIMDe
|
|
18
|
+
* (at <https://github.com/simd-everywhere/simde/issues>) so others can
|
|
19
|
+
* benefit from them.
|
|
20
|
+
* * Please keep a link to SIMDe intact so people know where to submit
|
|
21
|
+
* improvements.
|
|
22
|
+
* * If you expose it publicly, please change the SIMDE_ prefix to
|
|
23
|
+
* something specific to your project.
|
|
24
|
+
*
|
|
25
|
+
* The version numbers clang exposes (in the ___clang_major__,
|
|
26
|
+
* __clang_minor__, and __clang_patchlevel__ macros) are unreliable.
|
|
27
|
+
* Vendors such as Apple will define these values to their version
|
|
28
|
+
* numbers; for example, "Apple Clang 4.0" is really clang 3.1, but
|
|
29
|
+
* __clang_major__ and __clang_minor__ are defined to 4 and 0
|
|
30
|
+
* respectively, instead of 3 and 1.
|
|
31
|
+
*
|
|
32
|
+
* The solution is *usually* to use clang's feature detection macros
|
|
33
|
+
* (<https://clang.llvm.org/docs/LanguageExtensions.html#feature-checking-macros>)
|
|
34
|
+
* to determine if the feature you're interested in is available. This
|
|
35
|
+
* generally works well, and it should probably be the first thing you
|
|
36
|
+
* try. Unfortunately, it's not possible to check for everything. In
|
|
37
|
+
* particular, compiler bugs.
|
|
38
|
+
*
|
|
39
|
+
* This file just uses the feature checking macros to detect features
|
|
40
|
+
* added in specific versions of clang to identify which version of
|
|
41
|
+
* clang the compiler is based on.
|
|
42
|
+
*
|
|
43
|
+
* Right now it only goes back to 3.6, but I'm happy to accept patches
|
|
44
|
+
* to go back further. And, of course, newer versions are welcome if
|
|
45
|
+
* they're not already present, and if you find a way to detect a point
|
|
46
|
+
* release that would be great, too!
|
|
47
|
+
*/
|
|
48
|
+
|
|
49
|
+
#if !defined(SIMDE_DETECT_CLANG_H)
|
|
50
|
+
#define SIMDE_DETECT_CLANG_H 1
|
|
51
|
+
|
|
52
|
+
/* Attempt to detect the upstream clang version number. I usually only
|
|
53
|
+
* worry about major version numbers (at least for 4.0+), but if you
|
|
54
|
+
* need more resolution I'm happy to accept patches that are able to
|
|
55
|
+
* detect minor versions as well. That said, you'll probably have a
|
|
56
|
+
* hard time with detection since AFAIK most minor releases don't add
|
|
57
|
+
* anything we can detect. */
|
|
58
|
+
|
|
59
|
+
#if defined(__clang__) && !defined(SIMDE_DETECT_CLANG_VERSION)
|
|
60
|
+
#if __has_warning("-Wformat-insufficient-args")
|
|
61
|
+
#define SIMDE_DETECT_CLANG_VERSION 120000
|
|
62
|
+
#elif __has_warning("-Wimplicit-const-int-float-conversion")
|
|
63
|
+
#define SIMDE_DETECT_CLANG_VERSION 110000
|
|
64
|
+
#elif __has_warning("-Wmisleading-indentation")
|
|
65
|
+
#define SIMDE_DETECT_CLANG_VERSION 100000
|
|
66
|
+
#elif defined(__FILE_NAME__)
|
|
67
|
+
#define SIMDE_DETECT_CLANG_VERSION 90000
|
|
68
|
+
#elif __has_warning("-Wextra-semi-stmt") || \
|
|
69
|
+
__has_builtin(__builtin_rotateleft32)
|
|
70
|
+
#define SIMDE_DETECT_CLANG_VERSION 80000
|
|
71
|
+
#elif __has_warning("-Wc++98-compat-extra-semi")
|
|
72
|
+
#define SIMDE_DETECT_CLANG_VERSION 70000
|
|
73
|
+
#elif __has_warning("-Wpragma-pack")
|
|
74
|
+
#define SIMDE_DETECT_CLANG_VERSION 60000
|
|
75
|
+
#elif __has_warning("-Wbitfield-enum-conversion")
|
|
76
|
+
#define SIMDE_DETECT_CLANG_VERSION 50000
|
|
77
|
+
#elif __has_attribute(diagnose_if)
|
|
78
|
+
#define SIMDE_DETECT_CLANG_VERSION 40000
|
|
79
|
+
#elif __has_warning("-Wcast-calling-convention")
|
|
80
|
+
#define SIMDE_DETECT_CLANG_VERSION 30900
|
|
81
|
+
#elif __has_warning("-WCL4")
|
|
82
|
+
#define SIMDE_DETECT_CLANG_VERSION 30800
|
|
83
|
+
#elif __has_warning("-WIndependentClass-attribute")
|
|
84
|
+
#define SIMDE_DETECT_CLANG_VERSION 30700
|
|
85
|
+
#elif __has_warning("-Wambiguous-ellipsis")
|
|
86
|
+
#define SIMDE_DETECT_CLANG_VERSION 30600
|
|
87
|
+
#else
|
|
88
|
+
#define SIMDE_DETECT_CLANG_VERSION 1
|
|
89
|
+
#endif
|
|
90
|
+
#endif /* defined(__clang__) && !defined(SIMDE_DETECT_CLANG_VERSION) */
|
|
91
|
+
|
|
92
|
+
/* The SIMDE_DETECT_CLANG_VERSION_CHECK macro is pretty
|
|
93
|
+
* straightforward; it returns true if the compiler is a derivative
|
|
94
|
+
* of clang >= the specified version.
|
|
95
|
+
*
|
|
96
|
+
* Since this file is often (primarily?) useful for working around bugs
|
|
97
|
+
* it is also helpful to have a macro which returns true if only if the
|
|
98
|
+
* compiler is a version of clang *older* than the specified version to
|
|
99
|
+
* make it a bit easier to ifdef regions to add code for older versions,
|
|
100
|
+
* such as pragmas to disable a specific warning. */
|
|
101
|
+
|
|
102
|
+
#if defined(SIMDE_DETECT_CLANG_VERSION)
|
|
103
|
+
#define SIMDE_DETECT_CLANG_VERSION_CHECK(major, minor, revision) \
|
|
104
|
+
(SIMDE_DETECT_CLANG_VERSION >= \
|
|
105
|
+
((major * 10000) + (minor * 1000) + (revision)))
|
|
106
|
+
#define SIMDE_DETECT_CLANG_VERSION_NOT(major, minor, revision) \
|
|
107
|
+
(SIMDE_DETECT_CLANG_VERSION < \
|
|
108
|
+
((major * 10000) + (minor * 1000) + (revision)))
|
|
109
|
+
#else
|
|
110
|
+
#define SIMDE_DETECT_CLANG_VERSION_CHECK(major, minor, revision) (0)
|
|
111
|
+
#define SIMDE_DETECT_CLANG_VERSION_NOT(major, minor, revision) (1)
|
|
112
|
+
#endif
|
|
113
|
+
|
|
114
|
+
#endif /* !defined(SIMDE_DETECT_CLANG_H) */
|
|
@@ -0,0 +1,447 @@
|
|
|
1
|
+
/* SPDX-License-Identifier: MIT
|
|
2
|
+
*
|
|
3
|
+
* Permission is hereby granted, free of charge, to any person
|
|
4
|
+
* obtaining a copy of this software and associated documentation
|
|
5
|
+
* files (the "Software"), to deal in the Software without
|
|
6
|
+
* restriction, including without limitation the rights to use, copy,
|
|
7
|
+
* modify, merge, publish, distribute, sublicense, and/or sell copies
|
|
8
|
+
* of the Software, and to permit persons to whom the Software is
|
|
9
|
+
* furnished to do so, subject to the following conditions:
|
|
10
|
+
*
|
|
11
|
+
* The above copyright notice and this permission notice shall be
|
|
12
|
+
* included in all copies or substantial portions of the Software.
|
|
13
|
+
*
|
|
14
|
+
* THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND,
|
|
15
|
+
* EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF
|
|
16
|
+
* MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND
|
|
17
|
+
* NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS
|
|
18
|
+
* BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN
|
|
19
|
+
* ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN
|
|
20
|
+
* CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
|
|
21
|
+
* SOFTWARE.
|
|
22
|
+
*
|
|
23
|
+
* Copyright:
|
|
24
|
+
* 2017-2020 Evan Nemerson <evan@nemerson.com>
|
|
25
|
+
*/
|
|
26
|
+
|
|
27
|
+
/* SIMDe targets a very wide range of standards and compilers, and our
|
|
28
|
+
* goal is to compile cleanly even with extremely aggressive warnings
|
|
29
|
+
* (i.e., -Weverything in clang, -Wextra in GCC, /W4 for MSVC, etc.)
|
|
30
|
+
* treated as errors.
|
|
31
|
+
*
|
|
32
|
+
* While our preference is to resolve the underlying issue a given
|
|
33
|
+
* diagnostic is warning us about, sometimes that's not possible.
|
|
34
|
+
* Fixing a warning in one compiler may cause problems in another.
|
|
35
|
+
* Sometimes a warning doesn't really apply to us (false positives),
|
|
36
|
+
* and sometimes adhering to a warning would mean dropping a feature
|
|
37
|
+
* we *know* the compiler supports since we have tested specifically
|
|
38
|
+
* for the compiler or feature.
|
|
39
|
+
*
|
|
40
|
+
* When practical, warnings are only disabled for specific code. For
|
|
41
|
+
* a list of warnings which are enabled by default in all SIMDe code,
|
|
42
|
+
* see SIMDE_DISABLE_UNWANTED_DIAGNOSTICS. Note that we restore the
|
|
43
|
+
* warning stack when SIMDe is done parsing, so code which includes
|
|
44
|
+
* SIMDe is not deprived of these warnings.
|
|
45
|
+
*/
|
|
46
|
+
|
|
47
|
+
#if !defined(SIMDE_DIAGNOSTIC_H)
|
|
48
|
+
#define SIMDE_DIAGNOSTIC_H
|
|
49
|
+
|
|
50
|
+
#include "hedley.h"
|
|
51
|
+
#include "simde-detect-clang.h"
|
|
52
|
+
|
|
53
|
+
/* This is only to help us implement functions like _mm_undefined_ps. */
|
|
54
|
+
#if defined(SIMDE_DIAGNOSTIC_DISABLE_UNINITIALIZED_)
|
|
55
|
+
#undef SIMDE_DIAGNOSTIC_DISABLE_UNINITIALIZED_
|
|
56
|
+
#endif
|
|
57
|
+
#if HEDLEY_HAS_WARNING("-Wuninitialized")
|
|
58
|
+
#define SIMDE_DIAGNOSTIC_DISABLE_UNINITIALIZED_ \
|
|
59
|
+
_Pragma("clang diagnostic ignored \"-Wuninitialized\"")
|
|
60
|
+
#elif HEDLEY_GCC_VERSION_CHECK(4, 2, 0)
|
|
61
|
+
#define SIMDE_DIAGNOSTIC_DISABLE_UNINITIALIZED_ \
|
|
62
|
+
_Pragma("GCC diagnostic ignored \"-Wuninitialized\"")
|
|
63
|
+
#elif HEDLEY_PGI_VERSION_CHECK(19, 10, 0)
|
|
64
|
+
#define SIMDE_DIAGNOSTIC_DISABLE_UNINITIALIZED_ _Pragma("diag_suppress 549")
|
|
65
|
+
#elif HEDLEY_SUNPRO_VERSION_CHECK(5, 14, 0) && defined(__cplusplus)
|
|
66
|
+
#define SIMDE_DIAGNOSTIC_DISABLE_UNINITIALIZED_ \
|
|
67
|
+
_Pragma("error_messages(off,SEC_UNINITIALIZED_MEM_READ,SEC_UNDEFINED_RETURN_VALUE,unassigned)")
|
|
68
|
+
#elif HEDLEY_SUNPRO_VERSION_CHECK(5, 14, 0)
|
|
69
|
+
#define SIMDE_DIAGNOSTIC_DISABLE_UNINITIALIZED_ \
|
|
70
|
+
_Pragma("error_messages(off,SEC_UNINITIALIZED_MEM_READ,SEC_UNDEFINED_RETURN_VALUE)")
|
|
71
|
+
#elif HEDLEY_SUNPRO_VERSION_CHECK(5, 12, 0) && defined(__cplusplus)
|
|
72
|
+
#define SIMDE_DIAGNOSTIC_DISABLE_UNINITIALIZED_ \
|
|
73
|
+
_Pragma("error_messages(off,unassigned)")
|
|
74
|
+
#elif HEDLEY_TI_VERSION_CHECK(16, 9, 9) || \
|
|
75
|
+
HEDLEY_TI_CL6X_VERSION_CHECK(8, 0, 0) || \
|
|
76
|
+
HEDLEY_TI_CL7X_VERSION_CHECK(1, 2, 0) || \
|
|
77
|
+
HEDLEY_TI_CLPRU_VERSION_CHECK(2, 3, 2)
|
|
78
|
+
#define SIMDE_DIAGNOSTIC_DISABLE_UNINITIALIZED_ _Pragma("diag_suppress 551")
|
|
79
|
+
#elif HEDLEY_INTEL_VERSION_CHECK(13, 0, 0)
|
|
80
|
+
#define SIMDE_DIAGNOSTIC_DISABLE_UNINITIALIZED_ _Pragma("warning(disable:592)")
|
|
81
|
+
#elif HEDLEY_MSVC_VERSION_CHECK(19, 0, 0) && !defined(__MSVC_RUNTIME_CHECKS)
|
|
82
|
+
#define SIMDE_DIAGNOSTIC_DISABLE_UNINITIALIZED_ \
|
|
83
|
+
__pragma(warning(disable : 4700))
|
|
84
|
+
#endif
|
|
85
|
+
|
|
86
|
+
/* GCC emits a lot of "notes" about the ABI being different for things
|
|
87
|
+
* in newer versions of GCC. We don't really care because all our
|
|
88
|
+
* functions are inlined and don't generate ABI. */
|
|
89
|
+
#if HEDLEY_GCC_VERSION_CHECK(7, 0, 0)
|
|
90
|
+
#define SIMDE_DIAGNOSTIC_DISABLE_PSABI_ \
|
|
91
|
+
_Pragma("GCC diagnostic ignored \"-Wpsabi\"")
|
|
92
|
+
#else
|
|
93
|
+
#define SIMDE_DIAGNOSTIC_DISABLE_PSABI_
|
|
94
|
+
#endif
|
|
95
|
+
|
|
96
|
+
/* Since MMX uses x87 FP registers, you're supposed to call _mm_empty()
|
|
97
|
+
* after each MMX function before any floating point instructions.
|
|
98
|
+
* Some compilers warn about functions which use MMX functions but
|
|
99
|
+
* don't call _mm_empty(). However, since SIMDe is implementyng the
|
|
100
|
+
* MMX API we shouldn't be calling _mm_empty(); we leave it to the
|
|
101
|
+
* caller to invoke simde_mm_empty(). */
|
|
102
|
+
#if HEDLEY_INTEL_VERSION_CHECK(19, 0, 0)
|
|
103
|
+
#define SIMDE_DIAGNOSTIC_DISABLE_NO_EMMS_INSTRUCTION_ \
|
|
104
|
+
_Pragma("warning(disable:13200 13203)")
|
|
105
|
+
#elif defined(HEDLEY_MSVC_VERSION)
|
|
106
|
+
#define SIMDE_DIAGNOSTIC_DISABLE_NO_EMMS_INSTRUCTION_ \
|
|
107
|
+
__pragma(warning(disable : 4799))
|
|
108
|
+
#else
|
|
109
|
+
#define SIMDE_DIAGNOSTIC_DISABLE_NO_EMMS_INSTRUCTION_
|
|
110
|
+
#endif
|
|
111
|
+
|
|
112
|
+
/* Intel is pushing people to use OpenMP SIMD instead of Cilk+, so they
|
|
113
|
+
* emit a diagnostic if you use #pragma simd instead of
|
|
114
|
+
* #pragma omp simd. SIMDe supports OpenMP SIMD, you just need to
|
|
115
|
+
* compile with -qopenmp or -qopenmp-simd and define
|
|
116
|
+
* SIMDE_ENABLE_OPENMP. Cilk+ is just a fallback. */
|
|
117
|
+
#if HEDLEY_INTEL_VERSION_CHECK(18, 0, 0)
|
|
118
|
+
#define SIMDE_DIAGNOSTIC_DISABLE_SIMD_PRAGMA_DEPRECATED_ \
|
|
119
|
+
_Pragma("warning(disable:3948)")
|
|
120
|
+
#else
|
|
121
|
+
#define SIMDE_DIAGNOSTIC_DISABLE_SIMD_PRAGMA_DEPRECATED_
|
|
122
|
+
#endif
|
|
123
|
+
|
|
124
|
+
/* MSVC emits a diagnostic when we call a function (like
|
|
125
|
+
* simde_mm_set_epi32) while initializing a struct. We currently do
|
|
126
|
+
* this a *lot* in the tests. */
|
|
127
|
+
#if defined(HEDLEY_MSVC_VERSION)
|
|
128
|
+
#define SIMDE_DIAGNOSTIC_DISABLE_NON_CONSTANT_AGGREGATE_INITIALIZER_ \
|
|
129
|
+
__pragma(warning(disable : 4204))
|
|
130
|
+
#else
|
|
131
|
+
#define SIMDE_DIAGNOSTIC_DISABLE_NON_CONSTANT_AGGREGATE_INITIALIZER_
|
|
132
|
+
#endif
|
|
133
|
+
|
|
134
|
+
/* This warning needs a lot of work. It is triggered if all you do is
|
|
135
|
+
* pass the value to memcpy/__builtin_memcpy, or if you initialize a
|
|
136
|
+
* member of the union, even if that member takes up the entire union.
|
|
137
|
+
* Last tested with clang-10, hopefully things will improve in the
|
|
138
|
+
* future; if clang fixes this I'd love to enable it. */
|
|
139
|
+
#if HEDLEY_HAS_WARNING("-Wconditional-uninitialized")
|
|
140
|
+
#define SIMDE_DIAGNOSTIC_DISABLE_CONDITIONAL_UNINITIALIZED_ \
|
|
141
|
+
_Pragma("clang diagnostic ignored \"-Wconditional-uninitialized\"")
|
|
142
|
+
#else
|
|
143
|
+
#define SIMDE_DIAGNOSTIC_DISABLE_CONDITIONAL_UNINITIALIZED_
|
|
144
|
+
#endif
|
|
145
|
+
|
|
146
|
+
/* This warning is meant to catch things like `0.3 + 0.4 == 0.7`, which
|
|
147
|
+
* will is false. However, SIMDe uses these operations exclusively
|
|
148
|
+
* for things like _mm_cmpeq_ps, for which we really do want to check
|
|
149
|
+
* for equality (or inequality).
|
|
150
|
+
*
|
|
151
|
+
* If someone wants to put together a SIMDE_FLOAT_EQUAL(a, op, b) macro
|
|
152
|
+
* which just wraps a check in some code do disable this diagnostic I'd
|
|
153
|
+
* be happy to accept it. */
|
|
154
|
+
#if HEDLEY_HAS_WARNING("-Wfloat-equal") || HEDLEY_GCC_VERSION_CHECK(3, 0, 0)
|
|
155
|
+
#define SIMDE_DIAGNOSTIC_DISABLE_FLOAT_EQUAL_ \
|
|
156
|
+
_Pragma("GCC diagnostic ignored \"-Wfloat-equal\"")
|
|
157
|
+
#else
|
|
158
|
+
#define SIMDE_DIAGNOSTIC_DISABLE_FLOAT_EQUAL_
|
|
159
|
+
#endif
|
|
160
|
+
|
|
161
|
+
/* This is because we use HEDLEY_STATIC_ASSERT for static assertions.
|
|
162
|
+
* If Hedley can't find an implementation it will preprocess to
|
|
163
|
+
* nothing, which means there will be a trailing semi-colon. */
|
|
164
|
+
#if HEDLEY_HAS_WARNING("-Wextra-semi")
|
|
165
|
+
#define SIMDE_DIAGNOSTIC_DISABLE_EXTRA_SEMI_ \
|
|
166
|
+
_Pragma("clang diagnostic ignored \"-Wextra-semi\"")
|
|
167
|
+
#elif HEDLEY_GCC_VERSION_CHECK(8, 1, 0) && defined(__cplusplus)
|
|
168
|
+
#define SIMDE_DIAGNOSTIC_DISABLE_EXTRA_SEMI_ \
|
|
169
|
+
_Pragma("GCC diagnostic ignored \"-Wextra-semi\"")
|
|
170
|
+
#else
|
|
171
|
+
#define SIMDE_DIAGNOSTIC_DISABLE_EXTRA_SEMI_
|
|
172
|
+
#endif
|
|
173
|
+
|
|
174
|
+
/* We do use a few variadic macros, which technically aren't available
|
|
175
|
+
* until C99 and C++11, but every compiler I'm aware of has supported
|
|
176
|
+
* them for much longer. That said, usage is isolated to the test
|
|
177
|
+
* suite and compilers known to support them. */
|
|
178
|
+
#if HEDLEY_HAS_WARNING("-Wvariadic-macros") || HEDLEY_GCC_VERSION_CHECK(4, 0, 0)
|
|
179
|
+
#if HEDLEY_HAS_WARNING("-Wc++98-compat-pedantic")
|
|
180
|
+
#define SIMDE_DIAGNOSTIC_DISABLE_VARIADIC_MACROS_ \
|
|
181
|
+
_Pragma("clang diagnostic ignored \"-Wvariadic-macros\"") _Pragma( \
|
|
182
|
+
"clang diagnostic ignored \"-Wc++98-compat-pedantic\"")
|
|
183
|
+
#else
|
|
184
|
+
#define SIMDE_DIAGNOSTIC_DISABLE_VARIADIC_MACROS_ \
|
|
185
|
+
_Pragma("GCC diagnostic ignored \"-Wvariadic-macros\"")
|
|
186
|
+
#endif
|
|
187
|
+
#else
|
|
188
|
+
#define SIMDE_DIAGNOSTIC_DISABLE_VARIADIC_MACROS_
|
|
189
|
+
#endif
|
|
190
|
+
|
|
191
|
+
/* emscripten requires us to use a __wasm_unimplemented_simd128__ macro
|
|
192
|
+
* before we can access certain SIMD intrinsics, but this diagnostic
|
|
193
|
+
* warns about it being a reserved name. It is a reserved name, but
|
|
194
|
+
* it's reserved for the compiler and we are using it to convey
|
|
195
|
+
* information to the compiler.
|
|
196
|
+
*
|
|
197
|
+
* This is also used when enabling native aliases since we don't get to
|
|
198
|
+
* choose the macro names. */
|
|
199
|
+
#if HEDLEY_HAS_WARNING("-Wdouble-promotion")
|
|
200
|
+
#define SIMDE_DIAGNOSTIC_DISABLE_RESERVED_ID_MACRO_ \
|
|
201
|
+
_Pragma("clang diagnostic ignored \"-Wreserved-id-macro\"")
|
|
202
|
+
#else
|
|
203
|
+
#define SIMDE_DIAGNOSTIC_DISABLE_RESERVED_ID_MACRO_
|
|
204
|
+
#endif
|
|
205
|
+
|
|
206
|
+
/* clang 3.8 warns about the packed attribute being unnecessary when
|
|
207
|
+
* used in the _mm_loadu_* functions. That *may* be true for version
|
|
208
|
+
* 3.8, but for later versions it is crucial in order to make unaligned
|
|
209
|
+
* access safe. */
|
|
210
|
+
#if HEDLEY_HAS_WARNING("-Wpacked")
|
|
211
|
+
#define SIMDE_DIAGNOSTIC_DISABLE_PACKED_ \
|
|
212
|
+
_Pragma("clang diagnostic ignored \"-Wpacked\"")
|
|
213
|
+
#else
|
|
214
|
+
#define SIMDE_DIAGNOSTIC_DISABLE_PACKED_
|
|
215
|
+
#endif
|
|
216
|
+
|
|
217
|
+
/* Triggered when assigning a float to a double implicitly. We use
|
|
218
|
+
* explicit casts in SIMDe, this is only used in the test suite. */
|
|
219
|
+
#if HEDLEY_HAS_WARNING("-Wdouble-promotion")
|
|
220
|
+
#define SIMDE_DIAGNOSTIC_DISABLE_DOUBLE_PROMOTION_ \
|
|
221
|
+
_Pragma("clang diagnostic ignored \"-Wdouble-promotion\"")
|
|
222
|
+
#else
|
|
223
|
+
#define SIMDE_DIAGNOSTIC_DISABLE_DOUBLE_PROMOTION_
|
|
224
|
+
#endif
|
|
225
|
+
|
|
226
|
+
/* Several compilers treat conformant array parameters as VLAs. We
|
|
227
|
+
* test to make sure we're in C mode (C++ doesn't support CAPs), and
|
|
228
|
+
* that the version of the standard supports CAPs. We also reject
|
|
229
|
+
* some buggy compilers like MSVC (the logic is in Hedley if you want
|
|
230
|
+
* to take a look), but with certain warnings enabled some compilers
|
|
231
|
+
* still like to emit a diagnostic. */
|
|
232
|
+
#if HEDLEY_HAS_WARNING("-Wvla")
|
|
233
|
+
#define SIMDE_DIAGNOSTIC_DISABLE_VLA_ \
|
|
234
|
+
_Pragma("clang diagnostic ignored \"-Wvla\"")
|
|
235
|
+
#elif HEDLEY_GCC_VERSION_CHECK(4, 3, 0)
|
|
236
|
+
#define SIMDE_DIAGNOSTIC_DISABLE_VLA_ \
|
|
237
|
+
_Pragma("GCC diagnostic ignored \"-Wvla\"")
|
|
238
|
+
#else
|
|
239
|
+
#define SIMDE_DIAGNOSTIC_DISABLE_VLA_
|
|
240
|
+
#endif
|
|
241
|
+
|
|
242
|
+
#if HEDLEY_HAS_WARNING("-Wused-but-marked-unused")
|
|
243
|
+
#define SIMDE_DIAGNOSTIC_DISABLE_USED_BUT_MARKED_UNUSED_ \
|
|
244
|
+
_Pragma("clang diagnostic ignored \"-Wused-but-marked-unused\"")
|
|
245
|
+
#else
|
|
246
|
+
#define SIMDE_DIAGNOSTIC_DISABLE_USED_BUT_MARKED_UNUSED_
|
|
247
|
+
#endif
|
|
248
|
+
|
|
249
|
+
#if HEDLEY_HAS_WARNING("-Wunused-function")
|
|
250
|
+
#define SIMDE_DIAGNOSTIC_DISABLE_UNUSED_FUNCTION_ \
|
|
251
|
+
_Pragma("clang diagnostic ignored \"-Wunused-function\"")
|
|
252
|
+
#elif HEDLEY_GCC_VERSION_CHECK(3, 4, 0)
|
|
253
|
+
#define SIMDE_DIAGNOSTIC_DISABLE_UNUSED_FUNCTION_ \
|
|
254
|
+
_Pragma("GCC diagnostic ignored \"-Wunused-function\"")
|
|
255
|
+
#elif HEDLEY_MSVC_VERSION_CHECK(19, 0, 0) /* Likely goes back further */
|
|
256
|
+
#define SIMDE_DIAGNOSTIC_DISABLE_UNUSED_FUNCTION_ \
|
|
257
|
+
__pragma(warning(disable : 4505))
|
|
258
|
+
#else
|
|
259
|
+
#define SIMDE_DIAGNOSTIC_DISABLE_UNUSED_FUNCTION_
|
|
260
|
+
#endif
|
|
261
|
+
|
|
262
|
+
#if HEDLEY_HAS_WARNING("-Wpass-failed")
|
|
263
|
+
#define SIMDE_DIAGNOSTIC_DISABLE_PASS_FAILED_ \
|
|
264
|
+
_Pragma("clang diagnostic ignored \"-Wpass-failed\"")
|
|
265
|
+
#else
|
|
266
|
+
#define SIMDE_DIAGNOSTIC_DISABLE_PASS_FAILED_
|
|
267
|
+
#endif
|
|
268
|
+
|
|
269
|
+
#if HEDLEY_HAS_WARNING("-Wpadded")
|
|
270
|
+
#define SIMDE_DIAGNOSTIC_DISABLE_PADDED_ \
|
|
271
|
+
_Pragma("clang diagnostic ignored \"-Wpadded\"")
|
|
272
|
+
#elif HEDLEY_MSVC_VERSION_CHECK(19, 0, 0) /* Likely goes back further */
|
|
273
|
+
#define SIMDE_DIAGNOSTIC_DISABLE_PADDED_ __pragma(warning(disable : 4324))
|
|
274
|
+
#else
|
|
275
|
+
#define SIMDE_DIAGNOSTIC_DISABLE_PADDED_
|
|
276
|
+
#endif
|
|
277
|
+
|
|
278
|
+
#if HEDLEY_HAS_WARNING("-Wzero-as-null-pointer-constant")
|
|
279
|
+
#define SIMDE_DIAGNOSTIC_DISABLE_ZERO_AS_NULL_POINTER_CONSTANT_ \
|
|
280
|
+
_Pragma("clang diagnostic ignored \"-Wzero-as-null-pointer-constant\"")
|
|
281
|
+
#else
|
|
282
|
+
#define SIMDE_DIAGNOSTIC_DISABLE_ZERO_AS_NULL_POINTER_CONSTANT_
|
|
283
|
+
#endif
|
|
284
|
+
|
|
285
|
+
#if HEDLEY_HAS_WARNING("-Wold-style-cast")
|
|
286
|
+
#define SIMDE_DIAGNOSTIC_DISABLE_OLD_STYLE_CAST_ \
|
|
287
|
+
_Pragma("clang diagnostic ignored \"-Wold-style-cast\"")
|
|
288
|
+
#else
|
|
289
|
+
#define SIMDE_DIAGNOSTIC_DISABLE_OLD_STYLE_CAST_
|
|
290
|
+
#endif
|
|
291
|
+
|
|
292
|
+
#if HEDLEY_HAS_WARNING("-Wcast-function-type") || \
|
|
293
|
+
HEDLEY_GCC_VERSION_CHECK(8, 0, 0)
|
|
294
|
+
#define SIMDE_DIAGNOSTIC_DISABLE_CAST_FUNCTION_TYPE_ \
|
|
295
|
+
_Pragma("GCC diagnostic ignored \"-Wcast-function-type\"")
|
|
296
|
+
#else
|
|
297
|
+
#define SIMDE_DIAGNOSTIC_DISABLE_CAST_FUNCTION_TYPE_
|
|
298
|
+
#endif
|
|
299
|
+
|
|
300
|
+
/* clang will emit this warning when we use C99 extensions whan not in
|
|
301
|
+
* C99 mode, even though it does support this. In such cases we check
|
|
302
|
+
* the compiler and version first, so we know it's not a problem. */
|
|
303
|
+
#if HEDLEY_HAS_WARNING("-Wc99-extensions")
|
|
304
|
+
#define SIMDE_DIAGNOSTIC_DISABLE_C99_EXTENSIONS_ \
|
|
305
|
+
_Pragma("clang diagnostic ignored \"-Wc99-extensions\"")
|
|
306
|
+
#else
|
|
307
|
+
#define SIMDE_DIAGNOSTIC_DISABLE_C99_EXTENSIONS_
|
|
308
|
+
#endif
|
|
309
|
+
|
|
310
|
+
/* https://github.com/simd-everywhere/simde/issues/277 */
|
|
311
|
+
#if defined(HEDLEY_GCC_VERSION) && HEDLEY_GCC_VERSION_CHECK(4, 6, 0) && \
|
|
312
|
+
!HEDLEY_GCC_VERSION_CHECK(6, 4, 0) && defined(__cplusplus)
|
|
313
|
+
#define SIMDE_DIAGNOSTIC_DISABLE_BUGGY_UNUSED_BUT_SET_VARIBALE_ \
|
|
314
|
+
_Pragma("GCC diagnostic ignored \"-Wunused-but-set-variable\"")
|
|
315
|
+
#else
|
|
316
|
+
#define SIMDE_DIAGNOSTIC_DISABLE_BUGGY_UNUSED_BUT_SET_VARIBALE_
|
|
317
|
+
#endif
|
|
318
|
+
|
|
319
|
+
/* This is the warning that you normally define _CRT_SECURE_NO_WARNINGS
|
|
320
|
+
* to silence, but you have to do that before including anything and
|
|
321
|
+
* that would require reordering includes. */
|
|
322
|
+
#if defined(_MSC_VER)
|
|
323
|
+
#define SIMDE_DIAGNOSTIC_DISABLE_ANNEX_K_ __pragma(warning(disable : 4996))
|
|
324
|
+
#else
|
|
325
|
+
#define SIMDE_DIAGNOSTIC_DISABLE_ANNEX_K_
|
|
326
|
+
#endif
|
|
327
|
+
|
|
328
|
+
/* Some compilers, such as clang, may use `long long` for 64-bit
|
|
329
|
+
* integers, but `long long` triggers a diagnostic with
|
|
330
|
+
* -Wc++98-compat-pedantic which says 'long long' is incompatible with
|
|
331
|
+
* C++98. */
|
|
332
|
+
#if HEDLEY_HAS_WARNING("-Wc++98-compat-pedantic")
|
|
333
|
+
#define SIMDE_DIAGNOSTIC_DISABLE_CPP98_COMPAT_PEDANTIC_ \
|
|
334
|
+
_Pragma("clang diagnostic ignored \"-Wc++98-compat-pedantic\"")
|
|
335
|
+
#else
|
|
336
|
+
#define SIMDE_DIAGNOSTIC_DISABLE_CPP98_COMPAT_PEDANTIC_
|
|
337
|
+
#endif
|
|
338
|
+
|
|
339
|
+
/* Some problem as above */
|
|
340
|
+
#if HEDLEY_HAS_WARNING("-Wc++11-long-long")
|
|
341
|
+
#define SIMDE_DIAGNOSTIC_DISABLE_CPP11_LONG_LONG_ \
|
|
342
|
+
_Pragma("clang diagnostic ignored \"-Wc++11-long-long\"")
|
|
343
|
+
#else
|
|
344
|
+
#define SIMDE_DIAGNOSTIC_DISABLE_CPP11_LONG_LONG_
|
|
345
|
+
#endif
|
|
346
|
+
|
|
347
|
+
/* emscripten emits this whenever stdin/stdout/stderr is used in a
|
|
348
|
+
* macro. */
|
|
349
|
+
#if HEDLEY_HAS_WARNING("-Wdisabled-macro-expansion")
|
|
350
|
+
#define SIMDE_DIAGNOSTIC_DISABLE_DISABLED_MACRO_EXPANSION_ \
|
|
351
|
+
_Pragma("clang diagnostic ignored \"-Wdisabled-macro-expansion\"")
|
|
352
|
+
#else
|
|
353
|
+
#define SIMDE_DIAGNOSTIC_DISABLE_DISABLED_MACRO_EXPANSION_
|
|
354
|
+
#endif
|
|
355
|
+
|
|
356
|
+
/* Clang uses C11 generic selections to implement some AltiVec
|
|
357
|
+
* functions, which triggers this diagnostic when not compiling
|
|
358
|
+
* in C11 mode */
|
|
359
|
+
#if HEDLEY_HAS_WARNING("-Wc11-extensions")
|
|
360
|
+
#define SIMDE_DIAGNOSTIC_DISABLE_C11_EXTENSIONS_ \
|
|
361
|
+
_Pragma("clang diagnostic ignored \"-Wc11-extensions\"")
|
|
362
|
+
#else
|
|
363
|
+
#define SIMDE_DIAGNOSTIC_DISABLE_C11_EXTENSIONS_
|
|
364
|
+
#endif
|
|
365
|
+
|
|
366
|
+
/* Clang sometimes triggers this warning in macros in the AltiVec and
|
|
367
|
+
* NEON headers, or due to missing functions. */
|
|
368
|
+
#if HEDLEY_HAS_WARNING("-Wvector-conversion")
|
|
369
|
+
#define SIMDE_DIAGNOSTIC_DISABLE_VECTOR_CONVERSION_ \
|
|
370
|
+
_Pragma("clang diagnostic ignored \"-Wvector-conversion\"")
|
|
371
|
+
/* For NEON, the situation with -Wvector-conversion in clang < 10 is
|
|
372
|
+
* bad enough that we just disable the warning altogether. */
|
|
373
|
+
#if defined(SIMDE_ARCH_ARM) && SIMDE_DETECT_CLANG_VERSION_NOT(10, 0, 0)
|
|
374
|
+
#define SIMDE_DIAGNOSTIC_DISABLE_BUGGY_VECTOR_CONVERSION_ \
|
|
375
|
+
SIMDE_DIAGNOSTIC_DISABLE_VECTOR_CONVERSION_
|
|
376
|
+
#endif
|
|
377
|
+
#else
|
|
378
|
+
#define SIMDE_DIAGNOSTIC_DISABLE_VECTOR_CONVERSION_
|
|
379
|
+
#endif
|
|
380
|
+
#if !defined(SIMDE_DIAGNOSTIC_DISABLE_BUGGY_VECTOR_CONVERSION_)
|
|
381
|
+
#define SIMDE_DIAGNOSTIC_DISABLE_BUGGY_VECTOR_CONVERSION_
|
|
382
|
+
#endif
|
|
383
|
+
|
|
384
|
+
/* SLEEF triggers this a *lot* in their headers */
|
|
385
|
+
#if HEDLEY_HAS_WARNING("-Wignored-qualifiers")
|
|
386
|
+
#define SIMDE_DIAGNOSTIC_DISABLE_IGNORED_QUALIFIERS_ \
|
|
387
|
+
_Pragma("clang diagnostic ignored \"-Wignored-qualifiers\"")
|
|
388
|
+
#elif HEDLEY_GCC_VERSION_CHECK(4, 3, 0)
|
|
389
|
+
#define SIMDE_DIAGNOSTIC_DISABLE_IGNORED_QUALIFIERS_ \
|
|
390
|
+
_Pragma("GCC diagnostic ignored \"-Wignored-qualifiers\"")
|
|
391
|
+
#else
|
|
392
|
+
#define SIMDE_DIAGNOSTIC_DISABLE_IGNORED_QUALIFIERS_
|
|
393
|
+
#endif
|
|
394
|
+
|
|
395
|
+
/* GCC emits this under some circumstances when using __int128 */
|
|
396
|
+
#if HEDLEY_GCC_VERSION_CHECK(4, 8, 0)
|
|
397
|
+
#define SIMDE_DIAGNOSTIC_DISABLE_PEDANTIC_ \
|
|
398
|
+
_Pragma("GCC diagnostic ignored \"-Wpedantic\"")
|
|
399
|
+
#else
|
|
400
|
+
#define SIMDE_DIAGNOSTIC_DISABLE_PEDANTIC_
|
|
401
|
+
#endif
|
|
402
|
+
|
|
403
|
+
/* MSVC doesn't like (__assume(0), code) and will warn about code being
|
|
404
|
+
* unreachable, but we want it there because not all compilers
|
|
405
|
+
* understand the unreachable macro and will complain if it is missing.
|
|
406
|
+
* I'm planning on adding a new macro to Hedley to handle this a bit
|
|
407
|
+
* more elegantly, but until then... */
|
|
408
|
+
#if defined(HEDLEY_MSVC_VERSION)
|
|
409
|
+
#define SIMDE_DIAGNOSTIC_DISABLE_UNREACHABLE_ __pragma(warning(disable : 4702))
|
|
410
|
+
#else
|
|
411
|
+
#define SIMDE_DIAGNOSTIC_DISABLE_UNREACHABLE_
|
|
412
|
+
#endif
|
|
413
|
+
|
|
414
|
+
/* This is a false positive from GCC in a few places. */
|
|
415
|
+
#if HEDLEY_GCC_VERSION_CHECK(4, 7, 0)
|
|
416
|
+
#define SIMDE_DIAGNOSTIC_DISABLE_MAYBE_UNINITIAZILED_ \
|
|
417
|
+
_Pragma("GCC diagnostic ignored \"-Wmaybe-uninitialized\"")
|
|
418
|
+
#else
|
|
419
|
+
#define SIMDE_DIAGNOSTIC_DISABLE_MAYBE_UNINITIAZILED_
|
|
420
|
+
#endif
|
|
421
|
+
|
|
422
|
+
#if defined(SIMDE_ENABLE_NATIVE_ALIASES)
|
|
423
|
+
#define SIMDE_DISABLE_UNWANTED_DIAGNOSTICS_NATIVE_ALIASES_ \
|
|
424
|
+
SIMDE_DIAGNOSTIC_DISABLE_RESERVED_ID_MACRO_
|
|
425
|
+
#else
|
|
426
|
+
#define SIMDE_DISABLE_UNWANTED_DIAGNOSTICS_NATIVE_ALIASES_
|
|
427
|
+
#endif
|
|
428
|
+
|
|
429
|
+
#define SIMDE_DISABLE_UNWANTED_DIAGNOSTICS \
|
|
430
|
+
SIMDE_DISABLE_UNWANTED_DIAGNOSTICS_NATIVE_ALIASES_ \
|
|
431
|
+
SIMDE_DIAGNOSTIC_DISABLE_PSABI_ \
|
|
432
|
+
SIMDE_DIAGNOSTIC_DISABLE_NO_EMMS_INSTRUCTION_ \
|
|
433
|
+
SIMDE_DIAGNOSTIC_DISABLE_SIMD_PRAGMA_DEPRECATED_ \
|
|
434
|
+
SIMDE_DIAGNOSTIC_DISABLE_CONDITIONAL_UNINITIALIZED_ \
|
|
435
|
+
SIMDE_DIAGNOSTIC_DISABLE_FLOAT_EQUAL_ \
|
|
436
|
+
SIMDE_DIAGNOSTIC_DISABLE_NON_CONSTANT_AGGREGATE_INITIALIZER_ \
|
|
437
|
+
SIMDE_DIAGNOSTIC_DISABLE_EXTRA_SEMI_ \
|
|
438
|
+
SIMDE_DIAGNOSTIC_DISABLE_VLA_ \
|
|
439
|
+
SIMDE_DIAGNOSTIC_DISABLE_USED_BUT_MARKED_UNUSED_ \
|
|
440
|
+
SIMDE_DIAGNOSTIC_DISABLE_UNUSED_FUNCTION_ \
|
|
441
|
+
SIMDE_DIAGNOSTIC_DISABLE_PASS_FAILED_ \
|
|
442
|
+
SIMDE_DIAGNOSTIC_DISABLE_CPP98_COMPAT_PEDANTIC_ \
|
|
443
|
+
SIMDE_DIAGNOSTIC_DISABLE_CPP11_LONG_LONG_ \
|
|
444
|
+
SIMDE_DIAGNOSTIC_DISABLE_BUGGY_UNUSED_BUT_SET_VARIBALE_ \
|
|
445
|
+
SIMDE_DIAGNOSTIC_DISABLE_BUGGY_VECTOR_CONVERSION_
|
|
446
|
+
|
|
447
|
+
#endif /* !defined(SIMDE_DIAGNOSTIC_H) */
|