tech-userlevel archive

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index][Old Index]

Re: tgmath



On 26.09.2017 22:33, Joerg Sonnenberger wrote:
> On Tue, Sep 26, 2017 at 10:28:23PM +0200, Kamil Rytarowski wrote:
>> Can we just import as-is the FreeBSD version? It has support for pre-C11
>> compilers. This has header to be supported in the clean C99 mode.
> 
> I see absolutely no reason for wanting to support tgmath.h in pre-C11
> mode and a lot of very good reasons why it should *not* work.
> 

C99 7.22 Type-generic math <tgmath.h>

>> I propose to add for the completeness C++ support in this header as
>> defined by the C++ standard.
> 
> tgmath.h is strictly a C-only header. Again, I see no reason why this
> trainwreck should be supported by anything but the strict minimum
> requirements.
> 

"For compatibility with the C standard library and the C Unicode TR, the
C ++ standard library provides the 25 C headers, as shown in Table 154."
and the table lists "<tgmath.h>". D.5 (Annex D)

<ctgmath> has been introduced in C++11 and marked deprecated in C++2017
(draft). Usage of the original C header in C++ code is marked deprecated
since C++2011 (D.5)

Keeping C++ compat costs little, there is another option to include for
C++ >= 2011 the <ctgmath> header, but it depends on the proper C++
runtime headers. This is why I propose to manually include <cmath> and
<complex>.

> Joerg
> 


Attachment: signature.asc
Description: OpenPGP digital signature



Home | Main Index | Thread Index | Old Index