<div dir="ltr">That's just some unicode that accidentally got committed. Cleaned up in r183725.</div><div class="gmail_extra"><br><br><div class="gmail_quote">On Mon, Jun 10, 2013 at 11:03 PM, Eli Friedman <span dir="ltr"><<a href="mailto:eli.friedman@gmail.com" target="_blank">eli.friedman@gmail.com</a>></span> wrote:<br>
<blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex"><div dir="ltr"><div class="gmail_extra"><div class="gmail_quote"><div><div class="h5">On Mon, Jun 10, 2013 at 8:51 PM, David Majnemer <span dir="ltr"><<a href="mailto:david.majnemer@gmail.com" target="_blank">david.majnemer@gmail.com</a>></span> wrote:<br>

<blockquote class="gmail_quote" style="margin:0px 0px 0px 0.8ex;border-left:1px solid rgb(204,204,204);padding-left:1ex">Author: majnemer<br>
Date: Mon Jun 10 22:51:23 2013<br>
New Revision: 183722<br>
<br>
URL: <a href="http://llvm.org/viewvc/llvm-project?rev=183722&view=rev" target="_blank">http://llvm.org/viewvc/llvm-project?rev=183722&view=rev</a><br>
Log:<br>
Implement DR85: Redeclaration of member is forbidden<br>
<br>
Disallow the existence of a declaration of a member class that isn't a<br>
forward declaration before it's definition.<br>
<br>
Modified:<br>
    cfe/trunk/include/clang/Basic/DiagnosticSemaKinds.td<br>
    cfe/trunk/lib/Sema/SemaDecl.cpp<br>
    cfe/trunk/test/CXX/drs/dr0xx.cpp<br>
    cfe/trunk/test/SemaCXX/access.cpp<br>
    cfe/trunk/test/SemaTemplate/dependent-names.cpp<br>
    cfe/trunk/test/SemaTemplate/instantiate-member-class.cpp<br>
    cfe/trunk/www/cxx_dr_status.html<br>
<br>
Modified: cfe/trunk/include/clang/Basic/DiagnosticSemaKinds.td<br>
URL: <a href="http://llvm.org/viewvc/llvm-project/cfe/trunk/include/clang/Basic/DiagnosticSemaKinds.td?rev=183722&r1=183721&r2=183722&view=diff" target="_blank">http://llvm.org/viewvc/llvm-project/cfe/trunk/include/clang/Basic/DiagnosticSemaKinds.td?rev=183722&r1=183721&r2=183722&view=diff</a><br>


==============================================================================<br>
--- cfe/trunk/include/clang/Basic/DiagnosticSemaKinds.td (original)<br>
+++ cfe/trunk/include/clang/Basic/DiagnosticSemaKinds.td Mon Jun 10 22:51:23 2013<br>
@@ -4241,6 +4241,8 @@ def note_enum_specialized_here : Note<<br>
   "enum %0 was explicitly specialized here">;<br>
<br>
 def err_member_redeclared : Error<"class member cannot be redeclared">;<br>
+def ext_member_redeclared : ExtWarn<"class member cannot be redeclared">,<br>
+  InGroup<GNU>;<br>
 def err_member_redeclared_in_instantiation : Error<<br>
   "multiple overloads of %0 instantiate to the same signature %1">;<br>
 def err_member_name_of_class : Error<"member %0 has the same name as its class">;<br>
<br>
Modified: cfe/trunk/lib/Sema/SemaDecl.cpp<br>
URL: <a href="http://llvm.org/viewvc/llvm-project/cfe/trunk/lib/Sema/SemaDecl.cpp?rev=183722&r1=183721&r2=183722&view=diff" target="_blank">http://llvm.org/viewvc/llvm-project/cfe/trunk/lib/Sema/SemaDecl.cpp?rev=183722&r1=183721&r2=183722&view=diff</a><br>


==============================================================================<br>
--- cfe/trunk/lib/Sema/SemaDecl.cpp (original)<br>
+++ cfe/trunk/lib/Sema/SemaDecl.cpp Mon Jun 10 22:51:23 2013<br>
@@ -9885,6 +9885,16 @@ Decl *Sema::ActOnTag(Scope *S, unsigned<br>
             return TUK == TUK_Declaration ? PrevTagDecl : 0;<br>
         }<br>
<br>
+        // C++11 [class.mem]p1:<br>
+        //   A member shall not be declared twice in the member-speciļ¬ cation,<br>
+        //   except that a nested class or member class template can be declared<br>
+        //   and then later defined.<br></blockquote><div><br></div></div></div><div>I'm not entirely sure how you managed to write "speciļ¬ cation", but I'm pretty sure that isn't what the standard says.<span class="HOEnZb"><font color="#888888"><br>
<br>
</font></span></div><span class="HOEnZb"><font color="#888888"><div>-Eli<br></div></font></span></div></div></div>
</blockquote></div><br></div>