<html>
<head>
<base href="https://llvm.org/bugs/" />
</head>
<body><span class="vcard"><a class="email" href="mailto:rikka@google.com" title="Kaelyn Takata <rikka@google.com>"> <span class="fn">Kaelyn Takata</span></a>
</span> changed
<a class="bz_bug_link
bz_status_RESOLVED bz_closed"
title="RESOLVED FIXED - missing namespace typo correction for switch on enum"
href="https://llvm.org/bugs/show_bug.cgi?id=13070">bug 13070</a>
<br>
<table border="1" cellspacing="0" cellpadding="8">
<tr>
<th>What</th>
<th>Removed</th>
<th>Added</th>
</tr>
<tr>
<td style="text-align:right;">Status</td>
<td>NEW
</td>
<td>RESOLVED
</td>
</tr>
<tr>
<td style="text-align:right;">CC</td>
<td>
</td>
<td>rikka@google.com
</td>
</tr>
<tr>
<td style="text-align:right;">Resolution</td>
<td>---
</td>
<td>FIXED
</td>
</tr>
<tr>
<td style="text-align:right;">Assignee</td>
<td>unassignedclangbugs@nondot.org
</td>
<td>rikka@google.com
</td>
</tr></table>
<p>
<div>
<b><a class="bz_bug_link
bz_status_RESOLVED bz_closed"
title="RESOLVED FIXED - missing namespace typo correction for switch on enum"
href="https://llvm.org/bugs/show_bug.cgi?id=13070#c1">Comment # 1</a>
on <a class="bz_bug_link
bz_status_RESOLVED bz_closed"
title="RESOLVED FIXED - missing namespace typo correction for switch on enum"
href="https://llvm.org/bugs/show_bug.cgi?id=13070">bug 13070</a>
from <span class="vcard"><a class="email" href="mailto:rikka@google.com" title="Kaelyn Takata <rikka@google.com>"> <span class="fn">Kaelyn Takata</span></a>
</span></b>
<pre>It looks like this was fixed back in r191449. As of r236883, the simplified
test case:
struct Sema {
enum CXXSpecialMember {
CXXDefaultConstructor,
CXXCopyConstructor,
CXXMoveConstructor,
CXXCopyAssignment,
CXXMoveAssignment,
CXXDestructor,
CXXInvalid
};
};
void test(Sema::CXXSpecialMember CSM) {
switch (CSM) {
case CXXDefaultConstructor: break;
case CXXCopyConstructor: break;
case CXXMoveConstructor: break;
case CXXCopyAssignment: break;
case CXXMoveAssignment: break;
case CXXDestructor: break;
case CXXInvalid: break;
}
}
yields:
zbugs.cc:14:10: error: use of undeclared identifier 'CXXDefaultConstructor';
did you mean 'Sema::CXXDefaultConstructor'?
case CXXDefaultConstructor: break;
^~~~~~~~~~~~~~~~~~~~~
Sema::CXXDefaultConstructor
zbugs.cc:3:5: note: 'Sema::CXXDefaultConstructor' declared here
CXXDefaultConstructor,
^
zbugs.cc:15:10: error: use of undeclared identifier 'CXXCopyConstructor'; did
you mean 'Sema::CXXCopyConstructor'?
case CXXCopyConstructor: break;
^~~~~~~~~~~~~~~~~~
Sema::CXXCopyConstructor
zbugs.cc:4:5: note: 'Sema::CXXCopyConstructor' declared here
CXXCopyConstructor,
^
zbugs.cc:16:10: error: use of undeclared identifier 'CXXMoveConstructor'; did
you mean 'Sema::CXXMoveConstructor'?
case CXXMoveConstructor: break;
^~~~~~~~~~~~~~~~~~
Sema::CXXMoveConstructor
zbugs.cc:5:5: note: 'Sema::CXXMoveConstructor' declared here
CXXMoveConstructor,
^
zbugs.cc:17:10: error: use of undeclared identifier 'CXXCopyAssignment'; did
you mean 'Sema::CXXCopyAssignment'?
case CXXCopyAssignment: break;
^~~~~~~~~~~~~~~~~
Sema::CXXCopyAssignment
zbugs.cc:6:5: note: 'Sema::CXXCopyAssignment' declared here
CXXCopyAssignment,
^
zbugs.cc:18:10: error: use of undeclared identifier 'CXXMoveAssignment'; did
you mean 'Sema::CXXMoveAssignment'?
case CXXMoveAssignment: break;
^~~~~~~~~~~~~~~~~
Sema::CXXMoveAssignment
zbugs.cc:7:5: note: 'Sema::CXXMoveAssignment' declared here
CXXMoveAssignment,
^
zbugs.cc:19:10: error: use of undeclared identifier 'CXXDestructor'; did you
mean 'Sema::CXXDestructor'?
case CXXDestructor: break;
^~~~~~~~~~~~~
Sema::CXXDestructor
zbugs.cc:8:5: note: 'Sema::CXXDestructor' declared here
CXXDestructor,
^
zbugs.cc:20:10: error: use of undeclared identifier 'CXXInvalid'; did you mean
'Sema::CXXInvalid'?
case CXXInvalid: break;
^~~~~~~~~~
Sema::CXXInvalid
zbugs.cc:9:5: note: 'Sema::CXXInvalid' declared here
CXXInvalid
^
7 errors generated.
While more verbose than condensing everything down into one diagnostic, I
suspect it is the best that can be done without a major reworking of at least
the diagnostics machinery.</pre>
</div>
</p>
<hr>
<span>You are receiving this mail because:</span>
<ul>
<li>You are on the CC list for the bug.</li>
</ul>
</body>
</html>