juce-framework / JUCE

JUCE is an open-source cross-platform C++ application framework for desktop and mobile applications, including VST, VST3, AU, AUv3, LV2 and AAX audio plug-ins.
https://juce.com
Other
6.48k stars 1.71k forks source link

[Bug]: Please do not use stdatomic.h in C++ because it is not defined in C++ #1044

Open yurivict opened 2 years ago

yurivict commented 2 years ago

Detailed steps on how to reproduce the bug

Here

What is the expected behaviour?

n/a

Operating systems

Linux

What versions of the operating systems?

any

Architectures

x86_64

Stacktrace

n/a

Plug-in formats (if applicable)

No response

Plug-in host applications (DAWs) (if applicable)

n/a

Testing on the develop branch

I have not tested against the develop branch

Code of Conduct

reuk commented 2 years ago

This inclusion comes from a third-party header for the VST3 SDK that is simply bundled with JUCE. I'd suggest raising this issue with Steinberg.

We'd prefer not to make modifications to third-party code that's been copied into JUCE. If you can provide details of the sorts of problems this is causing, we might be more inclined to patch our copy of the VST3 SDK. Is this issue preventing you from building with a specific compiler or platform, for example?

The link you posted under "Detailed steps on how to reproduce the bug" just points to the file where stdatomic.h is included. Did you mean to link to another github issue where the problem is described in detail?

yurivict commented 2 years ago

Here is the Steinberg Media bug report.

tpoole commented 2 years ago

Could you provide details of the sorts of problems this is causing. Is this issue preventing you from building with a specific compiler or platform, for example?

Without some compelling motivation we will not modify the Steinberg SDK, and I doubt Steinberg will either.

yurivict commented 2 years ago

The FreeBSD downstream bug report explains the problem and why this header shouldn't be used in C++.