<html><head></head><body style="word-wrap: break-word; -webkit-nbsp-mode: space; -webkit-line-break: after-white-space; "><br><div><div>On Jan 4, 2011, at 5:21 PM, Douglas Gregor wrote:</div><br class="Apple-interchange-newline"><blockquote type="cite"><div style="word-wrap: break-word; -webkit-nbsp-mode: space; -webkit-line-break: after-white-space; "><br><div><div>On Jan 4, 2011, at 5:08 PM, John McCall wrote:</div><br class="Apple-interchange-newline"><blockquote type="cite"><div style="word-wrap: break-word; -webkit-nbsp-mode: space; -webkit-line-break: after-white-space; "><div><div>On Jan 4, 2011, at 1:44 AM, Francois Pichet wrote:</div><blockquote type="cite"><div class="gmail_quote">2011/1/4 <span dir="ltr"><<a href="mailto:way_lzl@sina.com">way_lzl@sina.com</a>></span><br><blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex;"><p>No, _Complex is used in MSVC's math.h. <br></p><p>line 135: _CRTIMP double __cdecl _cabs(__in struct _complex _Complex);</p><div><br class="webkit-block-placeholder"></div></blockquote><div>Ok that's in Visual Studio 2005. It was changed in MSVC 2008 to not use _Complex as parameter name.</div><div> </div><blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex;"><p>Then if I use math.h with Clang on windows, what should I do?</p></blockquote><div>Either you submit a patch to fix it yourself or you can submit a PR and wait for someone else to fix it.</div><div>Otherwise use VS 2008.</div>
</div></blockquote></div><br><div>_Complex should really be a C99-only keyword. If we did that, then you could compile as C89 without a problem.</div></div></blockquote><br></div><div>GCC accepts _Complex as a keyword in C++ mode. We could turn that off in Microsoft C++ mode, of course.</div></div></blockquote><br></div><div>I meant C99 as "not in C89", because IIRC complex numbers were added in C99; but it looks like GCC treats _Complex as a keyword even in -std=c89, and it's probably best to emulate that.</div><div><br></div><div>It definitely sounds like _Complex shouldn't be a keyword in VS2005 mode.</div><br><div>John.</div></body></html>