Weird mismatch between cdefs and stdatomic

Mon Jan 28 14:02:00 GMT 2019

This[0] and this[1]. One header checks for atomic C/CXX extensions *and* for
the presence of a C++ compiler, while the other only checks for extensions.

The result is that the _Atomic() macro is *not* defined in cdefs.h when
compiled with C++, but the stdatomic.h atomic macros assume that it is, and try
to access the "__val" struct member, with predictable and sad results.

I just stumbled upon this while compiling OpenSSL, and wanted to see if anyone
else encountered this problem.


-------------- next part --------------
A non-text attachment was scrubbed...
Name: signature.asc
Type: application/pgp-signature
Size: 833 bytes
Desc: OpenPGP digital signature
URL: <>

More information about the Cygwin mailing list