[PATCH] Implement DR85: Redeclaration of member class
David Majnemer
david.majnemer at gmail.com
Sun Jun 9 23:51:40 PDT 2013
The attached patch implements DR85 [*] which disallows the existence of a
declaration of a member class that isn't a forward declaration before it's
definition.
This means that the following would be disallowed:
class A {
struct B; // note here
struct B; // error here
};
as well as:
class C {
struct B {}; // note here
struct B; // error here
};
I'm very open to suggestions on the diagnostic, I couldn't think of a great
one that doesn't boil down to "this is forbidden because the standard says
so."
[*] http://www.open-std.org/jtc1/sc22/wg21/docs/cwg_defects.html#85
Thanks
--
David Majnemer
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.llvm.org/pipermail/cfe-commits/attachments/20130609/736d7808/attachment.html>
-------------- next part --------------
A non-text attachment was scrubbed...
Name: dr85.diff
Type: application/octet-stream
Size: 5510 bytes
Desc: not available
URL: <http://lists.llvm.org/pipermail/cfe-commits/attachments/20130609/736d7808/attachment.obj>
More information about the cfe-commits
mailing list