Here's a recent regression (within the last 6 weeks or so): 
----------------------- 
struct A { 
  int operator() (); 
}; 
 
template <int> void foo () { 
  A &a = *new A(); 
  const int i = a(); 
} 
----------------------- 
deal.II/lac> c++ -c x.cc 
x.cc: In function 'void foo()': 
x.cc:8: error: 'a' cannot be used as a function 
 
That's clearly bogus. Of course the error goes away once the function 
is made a nontemplate. 
 
This error triggers about a dozen times in my code... 
 
W.

-- 
           Summary: [4.0 regression] rejects access to operator() in
                    template
           Product: gcc
           Version: 4.0.0
            Status: UNCONFIRMED
          Keywords: rejects-valid
          Severity: normal
          Priority: P2
         Component: c++
        AssignedTo: unassigned at gcc dot gnu dot org
        ReportedBy: bangerth at dealii dot org
                CC: gcc-bugs at gcc dot gnu dot org


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

Reply via email to