Path: csiph.com!news.swapon.de!eternal-september.org!feeder.eternal-september.org!reader01.eternal-september.org!.POSTED!not-for-mail From: Keith Thompson Newsgroups: comp.lang.c Subject: Re: Simple 2d C99 fractal plotter... Date: Sun, 27 Jan 2019 13:09:11 -0800 Organization: None to speak of Lines: 43 Message-ID: References: Mime-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: 8bit Injection-Info: reader02.eternal-september.org; posting-host="c7c074d3c3bcde035ffcd137f60cc813"; logging-data="28472"; mail-complaints-to="abuse@eternal-september.org"; posting-account="U2FsdGVkX18KWkPcEWZT1+8ejBqt822V" User-Agent: Gnus/5.13 (Gnus v5.13) Emacs/23.1 (gnu/linux) Cancel-Lock: sha1:bX5B+dcmyAAIBxdgxd/BH2Rpu8s= sha1:dJegFU7Qy0BDpxEaA/mp1Sz6UkE= Xref: csiph.com comp.lang.c:140329 Bart writes: > On 27/01/2019 12:20, David Brown wrote: >> On 26/01/2019 13:35, Bart wrote: >>> msvc: no tgmath.h (and loads of errors when you just comment it out. >>> What is tgmath.h for anyway?) >> >> Chris said it was a C99 program. > > Most of those compilers, except for bcc, are reasonably full c99 > compilers. Yet tgmath.h, which varies from 130 to 1400 lines where it > exists, seems to be missing from dmc, tcc and msvc. > >   A C implementation that does not have >> tgmath.h, complex.h, and the required libraries is not a C99 >> implementation.  So it is entirely reasonable that his program does not >> work on systems that don't support C99 - the standard is only 20 years >> old, and not every tool has caught up yet. > > No, it's just support for tgmath.h that is not so universal. Actually > I'm still not sure what it does. tgmath.h is a header that is required by the C99 standard. It is not optional. An implementation that doesn't provide tgmath.h is not a complete C99 implementation. tgmath.h is part of the runtime library, not of the compiler. Since you're on Windows, I suspect that the implementations that don't provide tgmath.h are all using the same Microsoft headers, and that those headers don't include tgmath.h. Other implementations might use the Microsoft headers but provide some of their own headers to supplement them, or use a different set of headers. As for what tgmath.h is for, there are numerous resources, including the C standard itself, that you can use to find out. If you've consulted those resources and still have questions, by all means ask them. [...] -- Keith Thompson (The_Other_Keith) kst-u@mib.org Will write code for food. void Void(void) { Void(); } /* The recursive call of the void */