Bug 33934 - access control bug in member function templates
Summary: access control bug in member function templates
Status: RESOLVED DUPLICATE of bug 16617
Alias: None
Product: gcc
Classification: Unclassified
Component: c++ (show other bugs)
Version: 4.1.2
: P3 normal
Target Milestone: ---
Assignee: Not yet assigned to anyone
URL:
Keywords: accepts-invalid
Depends on:
Blocks:
 
Reported: 2007-10-28 21:05 UTC by Sumant Tambe
Modified: 2009-04-29 07:05 UTC (History)
5 users (show)

See Also:
Host:
Target: i386-pc-linux-gnu
Build:
Known to work:
Known to fail:
Last reconfirmed:


Attachments

Note You need to log in before you can comment on or make changes to this bug.
Description Sumant Tambe 2007-10-28 21:05:03 UTC
In the program snippet given below, line number 14 and 20 should have identical access privileges with respect to A::func(). But gcc 4.1.2 compiles line #14 just fine, whereas on line #20, it catches the error correctly. This bug is similar to bug #24118.

  1 class A
  2 {
  3   protected:
  4     void func ()
  5     { }
  6 };
  7
  8 class B: private A
  9 {
 10   public:
 11   template <class T>
 12   void foo ()
 13   {
 14     void (A::*ptr)() = & A::func;
 15    // Should not compile but compiles on gcc 4.1.2
 16   }
 17
 18   void bar ()
 19   {
 20     void (A::*ptr)() = & A::func;
 21     // Should not compile and gcc throws error.
 22   }
 23 };
 24 int main (void)
 25 {
 26   B b;
 27   b.foo<int>();
 28   b.bar();
 29 }
Comment 1 Sumant Tambe 2007-11-05 00:04:46 UTC
Using built-in specs.
Target: i386-redhat-linux
Configured with: ../configure --prefix=/usr --mandir=/usr/share/man --infodir=/usr/share/info --enable-shared --enable-threads=posix --enable-checking=release --with-system-zlib --enable-__cxa_atexit --disable-libunwind-exceptions --enable-libgcj-multifile --enable-languages=c,c++,objc,obj-c++,java,fortran,ada --enable-java-awt=gtk --disable-dssi --enable-plugin --with-java-home=/usr/lib/jvm/java-1.4.2-gcj-1.4.2.0/jre --with-cpu=generic --host=i386-redhat-linux
Thread model: posix
gcc version 4.1.1 20070105 (Red Hat 4.1.1-51)
Comment 2 Andrew Pinski 2009-04-29 07:05:07 UTC

*** This bug has been marked as a duplicate of 16617 ***