This is the mail archive of the gcc-bugs@gcc.gnu.org mailing list for the GCC project.


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]
Other format: [Raw text]

[Bug c++/18451] New: [3.4 Regression] C++ error message regression


The following erroneous code gives an error message I do not understand

file.cc:

      1 template < class T >
      2 class A
      3 {
      4 public:
      5   class B
      6     {
      7   public:
      8       B( int inVal ) :  m_i( inVal ) { }
      9       int m_i;
     10     };
     11   static B s;
     12 };
     13 
     14 template < class T > A<T>::B A<T>::s( 10 );



gives the following error message witch g++-3.4.3 -Wall -c file.cc

14: error: expected constructor, destructor, or type conversion before "A" 
14: error: expected `;' before "A"

I have difficulties in understancing the message

with g++-3.3.2 -Wall -c file.cc

14: warning: `A<T>::B' is implicitly a typename
14: warning: implicit typename is deprecated, please see the documentation for
details

This message seems much clearer to me

-- 
           Summary: [3.4 Regression] C++ error message regression
           Product: gcc
           Version: 3.4.3
            Status: UNCONFIRMED
          Severity: normal
          Priority: P2
         Component: c++
        AssignedTo: unassigned at gcc dot gnu dot org
        ReportedBy: sschunck at pdf dot de
                CC: gcc-bugs at gcc dot gnu dot org


http://gcc.gnu.org/bugzilla/show_bug.cgi?id=18451


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]