<P>No, _Complex is used in MSVC's math.h. <BR></P>
<P>line 135: _CRTIMP double  __cdecl _cabs(__in struct _complex _Complex);</P>
<P> </P>
<P>Then if I use math.h with Clang on windows, what should I do?</P>
<P> </P>
<P>------------------------------------------------<BR>--Zhanglin<BR>----- Original Message -----<BR>From: Francois Pichet <pichet2000@gmail.com><BR>To: way_lzl@sina.com<BR>Subject: Re: [cfe-dev] clang compiling complex reports err<BR>Date: 2011-1-4 16:46:49<BR><BR><BR><BR></P>
<DIV class=gmail_quote>2011/1/4 <SPAN dir=ltr><<A href="mailto:way_lzl@sina.com" target=_blank>way_lzl@sina.com</A>></SPAN><BR>
<BLOCKQUOTE style="BORDER-LEFT: #ccc 1px solid; MARGIN: 0px 0px 0px 0.8ex; PADDING-LEFT: 1ex" class=gmail_quote>
<P>If I use MSVC's math.h, clang will report err I have formed a simple case to show it:</P>
<P></P>
<P>struct _complex {<BR>double x,y;<BR>} ;</P>
<P></P>
<P>#if SHOWERR<BR>void foo( struct _complex _Complex) {<BR>_Complex.x = 0;<BR>}<BR>#else<BR>void foo( struct _complex cc) { <BR>cc.x = 0;<BR>}<BR>#endif</P>
<P><BR>int main()<BR>{<BR>struct _complex cc;<BR>foo(cc);<BR>}</P>
<P></P>
<P>clang aa.cpp -DSHOWERR=1</P>
<P>aa.cpp(7) : error: '_Complex struct' is invalid<BR>void foo( struct _complex _Complex) {<BR>^</P>
<P></P>
<P>It seems _Complex is a reserved key word. Any suggestion?</P></BLOCKQUOTE>
<DIV><BR></DIV>
<DIV></DIV>
<DIV>yes clang considers _Complex to be a reserved keyword, MSVC don't. But _Complex is not in MSVC headers, it is in your cod right?</DIV>
<DIV>So you can rename that variable. Otherwise feel free to submit a PR or a patch.</DIV>
<DIV><BR></DIV>
<DIV>We had the same problem with the _Bool keyword.</DIV></DIV><BR>