Title
LWG 2536 seems to misspecify <tgmath.h>
Status
c++17
Section
[support.c.headers][depr.ctgmath.syn]
Submitter
Thomas Koeppe

Created on 2016-11-29.00:00:00 last changed 90 months ago

Messages

Date: 2017-01-30.15:17:53

Proposed resolution:

This wording is relative to N4618.

  1. Edit [depr.c.headers] as indicated:

    […]

    -2- The use of any of the C++ headers […] is deprecated.

    -3- The header <complex.h> behaves as if it simply includes the header <ccomplex>. The header <tgmath.h> behaves as if it simply includes the header <ctgmath>.

    -4- Every other C header, […]

Date: 2017-01-27.00:00:00

[ 2017-01-27 Telecon ]

Priority 0

Date: 2016-11-29.00:00:00

The resolution of LWG 2536 touches on the specification of C headers (of the form foo.h), but while it fixes the specification of complex.h, it fails to address the specification of tgmath.h.

Just like complex.h, tgmath.h is not defined by C. Rather, our tgmath.h behaves like <ctgmath>, which is specified in [ctgmath.syn].

Suggested resolution:

Amend [depr.c.headers] p3 as follows:

3. The header <complex.h> behaves as if it simply includes the header <ccomplex>. The header <tgmath.h> behaves as if it simply includes the header <ctgmath>.

4. Every other C header […]

See also LWG 2828.

History
Date User Action Args
2017-07-30 20:15:43adminsetstatus: wp -> c++17
2017-03-05 23:41:16adminsetstatus: ready -> wp
2017-01-30 15:17:53adminsetmessages: + msg8810
2017-01-30 15:17:53adminsetstatus: new -> ready
2016-12-14 19:40:45adminsetmessages: + msg8718
2016-11-29 00:00:00admincreate