On 11/5/19 11:26 AM, Mark Galassi wrote:
"Patrick" == Patrick Alken <[email protected]> writes:Patrick> I don't think any progress was made on this One update to the discussion from back then is that C++11 has formalized data compatibilty between the C11 _Complex type and the C++ complex class. This also raises the architectural question of whether GSL might want to use C's complex type.
Although, strangely enough, they made support for complex types optional. Does anybody know the rationale for this decision? This kind of back-peddling seems very strange. I have been using the new types myself in C code, for several years. Of course, gcc and clang are not going to drop support for the types. But I worry that this "optionality" means they may not get the love and attention they need. Or worse, that something weird might happen leading to a divergence of implementations. It would be good to move to the standard, if we know it is not going to deteriorate in some way, and that there are no hidden issues with the implementations as they exist now. There are some weird hidden issues, like the meaning and consequences of the CX_LIMITED_RANGE pragma. At the very least, it would be good to read the normative parts carefully. Annex G of either the c17 draft standard (n2176) or the c11 draft standard (n1570). The two seem to be identical, but I have not taken out a microscope.
