[LLVMbugs] [Bug 15209] New: core DR 580 - template parameters and base-specifiers access checked too eagerly
bugzilla-daemon at llvm.org
bugzilla-daemon at llvm.org
Fri Feb 8 01:24:57 PST 2013
http://llvm.org/bugs/show_bug.cgi?id=15209
Bug ID: 15209
Summary: core DR 580 - template parameters and base-specifiers
access checked too eagerly
Product: clang
Version: trunk
Hardware: PC
OS: Linux
Status: NEW
Severity: normal
Priority: P
Component: C++
Assignee: unassignedclangbugs at nondot.org
Reporter: zilla at kayari.org
CC: dgregor at apple.com, llvmbugs at cs.uiuc.edu
Classification: Unclassified
class A {
typedef int I; // private member
template<int> struct Q;
template<int> friend struct R;
protected:
struct B { };
};
template<A::I> struct A::Q { };
template<A::I> struct R { };
struct D: A::B, A { };
t.cc:9:13: error: 'I' is a private member of 'A'
template<A::I> struct R { };
^
t.cc:2:15: note: implicitly declared private here
typedef int I; // private member
^
t.cc:10:14: error: 'B' is a protected member of 'A'
struct D: A::B, A { };
^
t.cc:6:10: note: declared protected here
struct B { };
^
The member, A::Q, is handled correctly, but the friend R and derived type D
should also be able to refer to non-public names from A.
http://www.open-std.org/jtc1/sc22/wg21/docs/cwg_defects.html#580
--
You are receiving this mail because:
You are on the CC list for the bug.
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.llvm.org/pipermail/llvm-bugs/attachments/20130208/ec082d1b/attachment.html>
More information about the llvm-bugs
mailing list