This is the mail archive of the gcc-prs@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]

Re: c++/9660: use of template keyword to specify templated method cause ICE


The following reply was made to PR c++/9660; it has been noted by GNATS.

From: MAudouy@amadeus.net
To: gdr@integrable-solutions.net
Cc: gcc-gnats@gcc.gnu.org, gdr@integrable-solutions.net
Subject: Re: c++/9660: use of template keyword to specify templated method cause ICE
Date: Tue, 11 Feb 2003 11:02:15 +0000

 You are right, I have not noticed this peculiarity (14.2/5) before.
 
 this PR should be reclassified as ice-on-illegal-code then
 
 Marc Audouy
 
 
 
 
 
 From:  Gabriel Dos Reis <gdr@integrable-solutions.net>
        @integrable-solutions.net  on 11/02/2003 11:53 CET
 
 Sent by:    gdr@integrable-solutions.net
 
 
                                                                           
  To:    maudouy@amadeus.net                                               
                                                                           
                                                                           
  cc:    gcc-gnats@gcc.gnu.org                                             
                                                                           
                                                                           
                                                                           
                                                                           
                                                                           
                                                                           
  Subjec Re: c++/9660: use of template                                     
  t:     keyword to specify templated                                      
         method cause ICE                                                  
                                                                           
                                                                           
                                                                           
 
 
 
 
 
 maudouy@amadeus.net writes:
 
 | >Number:         9660
 | >Category:       c++
 | >Synopsis:       use of template keyword to specify templated method
 cause ICE
 | >Confidential:   no
 | >Severity:       serious
 | >Priority:       medium
 | >Responsible:    unassigned
 | >State:          open
 | >Class:          ice-on-legal-code
 
 I believe your program is ill-formed, and I would suggest this PR be
 reclassified as ice-on-illegal-code.
 
 14.2/5
 
   If a name prefixed by the keyword template is not the name of a
   member template, the program is ill-formed.
 
 [...]
 
 | >Fix:
 | an easy workaround is not to use the template keyword, it works in this
 case. but when using other compilers (like aCC on HP-UX) it is necessary.
 
 Those  compilers are in error, AFAICT.
 
 [...]
 
 | class B {
 | public:
 |     A& getA(int a, int b)
 |     {
 |         A& anA = TOTO::template create<A>(a,b);
                    ^^^^^^^^^^^^^^
 
 That is not valid; see 14.2/5 quoted above.
 
 -- Gaby
 
 
 
 
 
 


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