Thank you Douglas,<div><br></div><div>In the meantime I had the idea to try the latest SVN and it worked ! Sorry that I did not post my issue was solved.</div><div><br clear="all">Romain<br>
<br><br><div class="gmail_quote">On Mon, Aug 23, 2010 at 4:06 PM, Douglas Gregor <span dir="ltr"><<a href="mailto:dgregor@apple.com">dgregor@apple.com</a>></span> wrote:<br><blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex;">

<div style="word-wrap:break-word"><div><div></div><div class="h5"><br><div><div>On Aug 23, 2010, at 4:00 AM, Romain Pechayre wrote:</div><br><blockquote type="cite"><span style="font-family:arial, sans-serif;font-size:13px;border-collapse:collapse;color:rgb(136, 136, 136)"><div>

<font>Hello, please consider the following simple c++ code:</font></div>

<div><font>% cat Main.cc</font></div><div><font>//first alias </font></div><div><font>namespace original_namespace {}  // decl 1</font></div>

<div><font>namespace client_namespace {</font></div><div><font>  namespace alias_ns = original_namespace;</font></div><div><font>}</font></div>

<div><font><br></font></div><div><font>//second alias</font></div><div><font>namespace original_namespace {} //decl 2</font></div>

<div><div><font>namespace client_namespace {</font></div><div><font>  namespace alias_ns = original_namespace;</font></div><div><font>}</font></div>

</div><div><font><br></font></div><div><font>This does not build with clang++ and does build with g++</font></div><div><font>. I get the following diagnosis:</font></div>

<div><font>Main.cc:16:11: error: redefinition of 'alias_ns' as different kind of symbol</font></div><div><font><br></font></div><div>

<font>namespace alias_ns = original_namespace;</font></div><div><font>                  ^</font></div><div><font>Main.cc:16:1: note: previous definition was here:</font></div>

<div><font>namespace alias_ns = original_namespace;</font></div><div><font>^</font></div><div><font><br>

</font></div><div><font>Of course this is a silly example, but I came across this when some similar code was included again and again from different source files. I have put this into a simple single file to see if I was still getting the problem, and yes.</font></div>



<div><font><br></font></div><div><font>Even more surprising is when you comment  decl2 of namespace original_namespace, no error ! I cannot understand why. Then I thought that maybe clang was mispointing the error that was in the second declaration of original_namespace. It is not the case, as only commenting the second alias instruction and keeping decl1 works.</font></div>



<div><font><br></font></div><div><font>I am using clang and llvm 2.7 (not svn)</font></div></span></blockquote><br></div></div></div><div>That was a bug in Clang 2.7, which has already been fixed on mainline. In general, you should not use Clang 2.7 for C++ code. Top-of-tree in Subversion is far, far better at handling C++.</div>

<div><br></div><div><span style="white-space:pre-wrap"> </span>- Doug</div><br></div></blockquote></div><br></div>