diff --git a/modules/juce_audio_plugin_client/VST3/juce_VST3ManifestHelper.cpp b/modules/juce_audio_plugin_client/VST3/juce_VST3ManifestHelper.cpp index c682f21dda..7add601f14 100644 --- a/modules/juce_audio_plugin_client/VST3/juce_VST3ManifestHelper.cpp +++ b/modules/juce_audio_plugin_client/VST3/juce_VST3ManifestHelper.cpp @@ -38,6 +38,7 @@ #endif #include +#include JUCE_BEGIN_IGNORE_WARNINGS_GCC_LIKE ("-Wc++98-compat-extra-semi", "-Wdeprecated-declarations", @@ -55,6 +56,17 @@ JUCE_BEGIN_IGNORE_WARNINGS_GCC_LIKE ("-Wc++98-compat-extra-semi", JUCE_BEGIN_IGNORE_WARNINGS_MSVC (6387 6031) +// As of at least 3.7.12 there is a bug in fplatform.h that leads to SMTG_CPP20 +// having the wrong value when the /Zc:__cplusplus is not enabled. This work +// around prevents needing to provide that flag + +#include + +#ifdef SMTG_CPP20 + #undef SMTG_CPP20 + #define SMTG_CPP20 JUCE_CXX20_IS_AVAILABLE +#endif + #ifndef _SILENCE_CXX17_CODECVT_HEADER_DEPRECATION_WARNING #define _SILENCE_CXX17_CODECVT_HEADER_DEPRECATION_WARNING #endif diff --git a/modules/juce_audio_processors/format_types/juce_VST3Headers.h b/modules/juce_audio_processors/format_types/juce_VST3Headers.h index bcdd9a9d41..068ee9e013 100644 --- a/modules/juce_audio_processors/format_types/juce_VST3Headers.h +++ b/modules/juce_audio_processors/format_types/juce_VST3Headers.h @@ -94,6 +94,17 @@ JUCE_BEGIN_IGNORE_WARNINGS_GCC_LIKE ("-W#warnings", #undef DEVELOPMENT #define DEVELOPMENT 0 // This avoids a Clang warning in Steinberg code about unused values +// As of at least 3.7.12 there is a bug in fplatform.h that leads to SMTG_CPP20 +// having the wrong value when the /Zc:__cplusplus is not enabled. This work +// around prevents needing to provide that flag + +#include + +#ifdef SMTG_CPP20 + #undef SMTG_CPP20 + #define SMTG_CPP20 JUCE_CXX20_IS_AVAILABLE +#endif + #if JUCE_VST3HEADERS_INCLUDE_HEADERS_ONLY #include #include