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++/33844] New: [4.1/4.2/4.3 regression] Broken diagnostic: 'dotstar_expr/member_ref' not supported by pp_cxx_unqualified_id


The C++ generates a broken diagnostic for the following invalid code
snippet since GCC 3.4.0:

=====================================
struct A {};

template<int> void foo(void (A::* f)())
{
  A a;
  &(a.*f); 
}
=====================================

bug.cc: In function 'void foo(void (A::*)())':
bug.cc:6: error: invalid use of '#'dotstar_expr' not supported by
dump_expr#<expression error>' to form a pointer-to-member-function
bug.cc:6: note:   a qualified-id is required

Same with pointers:

=====================================
struct A {};

template<int> void foo(void (A::* f)())
{
  A *p;
  &(p->*f); 
}
=====================================

bug.cc: In function 'void foo(void (A::*)())':
bug.cc:6: error: invalid use of '#'member_ref' not supported by
dump_expr#<expression error>' to form a pointer-to-member-function
bug.cc:6: note:   a qualified-id is required


-- 
           Summary: [4.1/4.2/4.3 regression] Broken diagnostic:
                    'dotstar_expr/member_ref' not supported by
                    pp_cxx_unqualified_id
           Product: gcc
           Version: 4.3.0
            Status: UNCONFIRMED
          Keywords: diagnostic, monitored
          Severity: normal
          Priority: P3
         Component: c++
        AssignedTo: unassigned at gcc dot gnu dot org
        ReportedBy: reichelt at gcc dot gnu dot org


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


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