Je tiens à pousser un coup de gueule contre le fait que stdatomic.h (header standard du C11) soit
inutilisable avec G++ !
Le moindre source aussi simple soit-il, par exemple juste :
#include <stdatomic.h>
induit des erreurs à la pelle :

error: ‘_Atomic’ does not name a type
Le bug a été remonté
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=60932Conclusion: not a bug.

Solution de contournement officielle 1:
#if !__has_extension(c_atomic) && !__has_extension(cxx_atomic)
#define _Atomic(T) struct { T volatile __val; }
#endif
(mais ca ne résoud pas tous les problèmes)

ou
#ifdef __cplusplus
#include <atomic>
using namespace std;
#else
#include <stdatomic.h>
#endif
(on appréciera le using namespace std inconditionnel).

Ils auraient du proposer un DTC, ca serait mieux passer !

Résultat: si la moindre librairie C utilise stdatomic.h dans ses headers, alors le pauvre programmeur C++ ne pourra rien en faire et serra coincé !

Au moins clang définit _Atomic... mais pas _Bool !
